[UE虚幻] 【UE4程序】瞧,这是UE4的C++

查看:1840 |回复:21 | 2016-7-21 14:07:04

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 醉酒風 于 2019-4-10 23:29 编辑

1.那么怎么入手学习UE4 C++呢?
  以前我们都是从PlayerController,pawn,Camera开始虚幻之路的,方法其实是传承下来的Wiki建议大家从PlayerController或是Blueprint扩展开始。
  ①Hello怎么world呢?
  ClientMessage("Hello world!");
  很简答不是吗

2.搞不清. ->
  有时候我们能看到代码中有两种指向. 和-> what the hell is this mean?
  ->表示该变量是一个数据指向哪里的指针。FVector* LocationPtr;    指针  
  .表示变量时实际的值。例如 Fvector location;    location.X=5;就是直接访问值

LocationPtr=&Location;    //Location这个变量的地址设置成指针LocationPtr;
    LocationPtr->X返回的就是5啦
   再用上面学到的知识来将其输出
  ClientMessage(FString::SanitizeFloat(LocationPtr->X));  
     瞧是不是很简单:)

总结一下:当你有一个实际的变量就使用.,就像unrealscript和Java等语言中的做法一样。
  当你事用指针的时候,你不确定他是否已经指向了某件东西,你必须得检测一下
  if(!LocationPtr)return;  //那就返回他,因为他没有指向任何东西
  如果向前面设置的那样
  LocationPtr=&location;
  LocationPtr->X;  //这个指针就是这样访问他的变量的

3.::这是什么鬼玩意?
  这告诉我们一个函数或是变量的域名空间的范围
  UUnrealEdEngine::Init
  这告诉我们这是类UUnrealEdEngine的初始化函数
  Super::Init(InEngineLoop)
  因为上面引擎的Init是虚函数,你必须得访问他的父类函数

倘若你写了两个类AMyTree和AMyFlower.两个类都有一个获取位置的函数
  FVector GetLocation() const;
  为什么要引入域名空间::这种超级麻烦的东西?因为C++过于底层。你有权利获取Global域名空间,如果在一个类外你仅仅是声明了一个变量或者函数或者结构
  static const FVector MyGlobalVector=FVector(2,4,16);
  FORCEINLINE void MyVeryGlobalFunction();
   {
      //处理...
  }
  那么这些符合将会进入所有域名空间并且被所有读取认识,这对C++的operators非常有用,例如你定义的+,-,*除等运算符。
  但是对于你定义的那些小类,例如AMyTree和AMyFlower将会引起麻烦,如果你不使用::将会让编译器困惑是哪个GetLocation,所以你使用::来告诉编译器
  FVector AMyFlower::GetLocation()const
  {
    //code...
  }

  FVector AMyTree::GetLocation()const
  {
    //code..
  }
  因此如果你不使用域名空间,你讲不得不再你的代码中每一个函数的命名都将是唯一的,如果你没有好的记忆和管理方法,估计这很难做到。
  最后你只需要知道::就是一个简单的标签,告诉你这个函数或是变量属于哪个类的。


timg.png

评分

参与人数 1活跃度 +5 展开 理由
CallMEDad + 5 看不懂,但是还是加一个

查看全部评分

2016-7-21 14:07:04  
 赞 赞 0

使用道具 登录

21个回答,把该问题分享到群,邀请大神一起回答。
2#
这世上没有什么是元素币搞不定的,如果有,那就用更多!
回复 收起回复
2016-7-22 09:55:21   回复
 赞 赞 0

使用道具 登录

3#

给力!元素有你更精彩
回复 收起回复
2016-8-12 13:41:04   回复
 赞 赞 0

使用道具 登录

4#
不用蓝图的话,还是老老实实去学习下C++再来学UE4吧
回复 收起回复
2016-8-21 08:31:59   回复
 赞 赞 0

使用道具 登录

5#
666666666666666666
回复 收起回复
2016-8-24 08:26:17   回复
 赞 赞 0

使用道具 登录

6#
{:1_144:}
回复 收起回复
2016-11-24 19:50:33   回复
 赞 赞 0

使用道具 登录

7#
路过,看看。
回复 收起回复
2016-11-24 19:50:40   回复
 赞 赞 0

使用道具 登录

8#
跨行过来看看,好高大上的感觉
回复 收起回复
2016-11-25 17:20:33   回复
 赞 赞 0

使用道具 登录

9#
ue讲c++的太少啊
回复 收起回复
2016-12-5 21:15:47   回复
 赞 赞 0

使用道具 登录

10#
大工程还是要上c++工程呀
回复 收起回复
2016-12-29 09:40:06   回复
 赞 赞 0

使用道具 登录

11#

谢谢分享谢谢分享
回复 收起回复
2017-2-9 10:15:55   回复
 赞 赞 0

使用道具 登录

12#


想要成大触,天天上元素!
回复 收起回复
2017-3-20 07:35:49   回复
 赞 赞 0

使用道具 登录

13#
跨行小白,受教了
回复 收起回复
2017-4-10 11:08:16   回复
 赞 赞 0

使用道具 登录

14#
能问下,想看粒子系统数据结构怎么整吗
回复 收起回复
2017-4-16 22:04:47   回复
 赞 赞 0

使用道具 登录

15#
回复 收起回复
2017-4-19 09:28:31   回复
 赞 赞 0

使用道具 登录

16#
不错的资源,谢谢分享。。。
回复 收起回复
2017-8-15 09:33:15   回复
 赞 赞 0

使用道具 登录

17#
感谢分享
回复 收起回复
2017-8-25 14:13:20   回复
 赞 赞 0

使用道具 登录

18#
强悍!元素有你更精彩......
回复 收起回复
2018-1-8 18:42:46   回复
 赞 赞 0

使用道具 登录

19#
看看好不好玩
回复 收起回复
2018-3-29 12:05:09   回复
 赞 赞 0

使用道具 登录

20#
不错
回复 收起回复
2019-1-15 09:57:57   回复
 赞 赞 0

使用道具 登录

CG 游戏行业专业问题

UE虚幻引擎
12下一页
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表