UE4中日志,屏幕的字符串打印
UE_LOG (服务于日志的打印)
UE_LOG(LogMy,Warning,TEXT("Hello World"));
UE_LOG(LogMy,Warning,TEXT("Show a String %s"),*FString("Hello"));
UE_LOG(LogMy,Warning,TEXT("Show a Int %d"),100);
第一个参数为Log的分类。
第二个参数为类型,有Log、Warning、Error三种类型。
第三个参数是打印的字符串, UE_LOG的用法和C中的printf类似,支持字符串Format
UE_LOG(CategoryName,Warning,TEXT("MyCharacter's Health is %d"), MyCharacter->Health );//%d 整型数据(int32)
UE_LOG(CategoryName,Warning,TEXT("MyCharacter's Health is %f"), MyCharacter->Health );//%s 字符串(FString)
UE_LOG(CategoryName,Warning,TEXT("MyCharacter's Name is %s"), *MyCharacter->GetName() );//%s 字符串(FString)
AddOnScreenDebugMessage(屏幕上的打印)
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("22 RED IT IS"));
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Orange, FString::Printf(TEXT("My Location is: %s"), *GetActorLocation().ToString()));
定义为UEngine::AddOnScreenDebugMessage(int32 Key, float TimeToDisplay, FColor DisplayColor, const FString& DebugMessage, bool bNewerOnTop, const FVector2D& TextScale)
int32key:用来防止相同信息被显示多次:当Key为0时,相同的信息只在界面上显示一次;当Key为-1时,相同信息会按照程序执行依次显示。 TimeToDisplay:显示时间 DisplayColor:显示颜色 DebugNessage:显示的string文本 bNewerOnTop:用来确定一系列信息显示的位置:当bNewerOnTop=true时,最新的信息永远显示在顶部;当bNewerOnTop=false时,最新的信息显示在底部,缺省时默认为true。 TextScale:字体缩放
使用宏简化打印步骤
#define print(text) if (GEngine) GEngine->AddOnScreenDebugMessage(-1, 1.5, FColor::Green,text)
#define printFString(text, fstring) if (GEngine) GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Magenta, FString::Printf(TEXT(text), fstring))
|