概述
场景对象是指放置在场景上的对象,每个场景对象拥有唯一的场景对象原型
场景对象作为一个显示容器,可能包含行走图、挂载的界面(比如血条、名字等)、挂载的动画
场景对象可能包含若干个场景对象模块。
部分游戏效果示例演示
点击下方文字可弹出效果展示:
【四方向行走图】#在线预览
【八方向行走图】#在线预览
【一方向行走图】#在线预览
关于基础属性
场景对象一般具备坐标、显示层级等基础属性,而带有行走图的显示对象则具备针对行走图的体型、色相、播放频率等基础属性。
此外选中场景对象后头顶上有一个辅助工具栏,可以设置名称、快速更换面向、动作及行走图。
关于触发器
支持绑定自定义的触发器,比如点击对象的事件、碰触对象的事件等,自定义一个触发类别名称后在脚本中实现触发即可。
满足执行条件的话多种事件是可以同时执行的。
- 比如《苍之羽》模板中每个对象都有:“点击事件”、“碰触事件”、“并行事件”等
关于出现条件和状态页
状态页搭配出现条件使用,当满足了该状态页的出现条件时,则切换到该状态页上(顺序由下至上)。
同一个场景对象的可以预设多个状态页,即拥有多个不同的属性和事件,但是当前只会显示一种状态页。
一个对象可以根据不同的条件呈现出不同的状态是游戏制作内常用的一种手段。
比如同一个场景对象,由于条件不同出现的状态即不同:
- 这样可以充分利用一个场景对象在不同的场合下呈现不同的状态,如在满足某些剧情后原本存在的NPC就消失了,或者变成新的NPC了。
关于场景对象行为
GC支持了自定义设定场景对象的行为,通常情况下模板都会预设好相关的对象行为让用户可以通过行为编辑器来编辑对象的行为。
作者或模板制作者追加的自定义对象行为也可以实时预览到播放效果。
对象每次被添加一组行为后都会加入到队列中,该队列是后加先上的特性,即后加入队列反而优先执行,执行完毕才执行前面队列的行为组:
- 比如某场景对象的默认行为是:ABC,当它执行完A时,再给他再加入DEF的行为组,那么它的实际顺序是A-D-E-F-B-C。
比如RPG游戏中行为可能包含移动、面向、跳跃等等。
允许作者在对象的默认行为中进行编辑或在事件中指定某个对象执行哪些行为,同时支持实时预览:
高级特性:场景对象原型
场景对象原型是预先定义的一类对象,由公共模块
以及预安装的场景对象模块
组成。
你可以理解为不同的原型就是不同的物种或类别
通常为高级开发人员编辑的项,普通创作者仅需了解即可。
公共模块
公共模块是指所有类别的原型都拥有的共同特性,都拥有公共的特性,由: 属性、显示对象、绑定的脚本、编辑器预览
组成
特征 | 说明 |
---|---|
属性 | 自定义的属性,如生命值(数值类型) |
显示对象 | 挂载的显示对象,如行走图、动画、界面等 |
绑定的脚本 | 由高级开发人员操作:所有场景对象都是指定的脚本类的实例 |
编辑器预览 | 由高级开发人员操作:可用于编写在编辑器环境下实时预览的效果 |
场景对象模块
场景对象模块属于可组装式的组件,当场景对象拥有某一个模块时,即拥有了该模块的特性。
模块通常来自模板预置、插件商城或高级开发人员自制。
高级特性:自定义显示对象
场景对象可以使用一个行走图对象,以及若干个动画对象
和界面对象
,均可在原型中预设好即可。
可以指定固定的动画、界面,也可以指定一类动画或界面,这样让作者可以在属性栏中对每个对象进行选择。
至于你定义的这些显示对象有什么作用目前则需要在脚本中实现相关的功能。
- 比如场景对象拥有血条,与自定义属性-生命值有关系,根据当前生命值和最大生命值来决定当前血条界面的状态
- 通常情况下,模板会预先设定好这些东西,以便普通作者直接使用。而高级开发者则可以任意修改和增删。
下图展示的对象原型具备一个自定义界面类别和一个自定义动画类别,然后摆放到场景上之后可以选择具体是哪个界面或哪个动画:
虽然两个人都来自原型-动物,但也具备不同的行走图、VIP等级、挂载的装饰动画等等。