【v2.x OGE教程 18】 Entity相关


让游戏设计变灵活的方法之一,就是使用实体/组件式设计方法,该方法将所有物体都看作Entity对象,而不是为每种物体设计一个类。在屏幕中所绘制的所有东西都是实体(场景、层、文字、几何图形、线条、精灵等)。这些实体对象稍后会被动态地设置属性(或组件),使之对应的做出改变。

 

1.更新相关

Engine以逻辑线程及GL线程以数据同步的方式对游戏进程进行更新,Entity更新其中onUpdateonDraw方法,onUpdate方法中IgnoreUpdate就是判断是否更新逻辑(包括属性参数,如坐标等)onDraw方法中是否绘图根据Visible判断。

 

2.触摸相关

Entity中有onTouch和onAreaTouched方法,Engine中对事件进行分发,在onTouch中进行处理,传递到onAreaTouched,所以重写onAreaTouched时要设置,Entity.setIgnoreTouch(false),不然在onTouch时就过滤了导致onAreaTouched没有响应,onAreaTouched的返回值是指是否已处理事件

 

3.坐标转换

因为EntityparentChild的相对概念,所以对应坐标也有相对的说法,坐标的转换也就包含在内了。

举例:

convertLocalToSceneCoordinates 将当前坐标转换EntityScene的坐标

...

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值