p50蓝图概念、面向对象思想、函数事件宏的区别
- 函数的概念(纯虚函数和函数)
- 宏的概念
- 函数、事件、宏的区别
- 变量的概念
- 面向对象思想(封装、继承、多态)
- 类和对象的关系
- Object、actor、pawn、Character、component之间的区别
- 控制权、玩家输入
- actor和蓝图关卡的关系
函数的概念(纯虚函数和函数)
计算机函数: 函数是指一段可以直接被另一段程序引用的程序
在程序设计中,常将一些常用的功能模块编写成函数,放在函数库中供公共选用。要善于利用函数,以减少重复编写程序段的工作量。
拖拽节点到新函数上,就会在右边细节面板输入特别方便的更改参数了
这样既可以在图表内调用了
纯函数:纯函数没有执行引脚,就是途中的最上面的两个白色小三角
可以在细节面板勾选纯函数
宏的概念
宏可以加速日常编辑和格式设置 组合多个命令 使对话框中的选项更易于访问 使一系列复杂的任务自动执行
在游戏中,宏也是如此,多个组合技能,连贯的操作都能够设置成宏。
在《魔兽世界》这款游戏中,由于游戏的多样性,使得游戏中虚构的13个种族12大职业以及各种表情动作都十分繁杂,由此以来进行复杂的操作将是十分困难的事情,例如同时激活2种以上的法术,施法的同时用游戏中的聊天系统发送信息等。这时候宏命令就显得非常重要了
在虚幻引擎中,宏一般用于计算,我们传入对应的数值,套入宏里面设置好的算法,然后输出计算完成的数值
函数、事件、宏的区别
函数可以在任意图表任意蓝图类调用
宏只能在当前蓝图类内使用(宏可以创建多个执行引脚,所以可以进行技能的组合,但是函数没有多个执行引脚)
蓝图宏库可以在任意蓝图类内使用(鼠标右键内容浏览器-》蓝图-》蓝图宏库)
事件里可以加延时节点(如Delay),函数里不可以
函数里有返回值,事件里没有
事件可以作为回调函数,函数不能直接作为回调
如下图会进行无限循环,不过有延迟0.2秒不会闪退,没有这个延迟会闪退
事件可以作为输入事件和碰撞事件的处理
实现接口的时候,有返回值的会变成函数,无返回值的会变成事件
事件可以用来发送网络消息,而函数不行(网络)
变量的概念
变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念,变量可以通过变量名访问
变量: 通常是可变的、具有存储空间的抽象
声明一个变量:虚幻4中就是创建一个变量
赋值: 虚幻4中就是Set,在没有赋值的情况下,变量是默认值
虚幻4中变量可以获得里面的数值,或者进行设置(赋值) 更改变量中的数值
面向对象思想(封装、继承、多态)
这是C++的面向对象思想,现在还没有涉及C++但是很多的用法已经正在使用中,了解这个思想,有助于之后开发游戏制定好游戏的大框架。
我们要面对一个对象进行思考,比如我们要做一个角色,我们就要进行思考,要给这个角色添加什么属性功能。
万物皆对象:
世界是由各种各样具有自己的运动规律和内部状态的对象所组成的: 不同对象之间的相互作用和通讯构成了完整的现实世界。所以对象是世界的核心。
继承:右键蓝图类会有创建子蓝图类
类和对象的关系
实例化:
实例化是指在面向对象的编程中,把用类创建对象的过程称为实例化,是将一个抽象的概念类,具体到该类实物的过程。
Object、actor、pawn、Character、component之间的区别
继承、包含关系
Object>actor>pawn>Character
component是包含在actor中的
控制权、玩家输入
在pawn或者character中默认就是支持玩家输入的,但是在actor中是需要额外开启的
这也跟他们的控制权有关,pawn和character都能够被角色控制,拥有控制权,但是actor不行
actor和蓝图关卡的关系
Actor)level blueprintactor, 关卡蓝图也是一个actor,并且是actor的子类