【v2.x OGE教程 16】 Modifier使用相关

OGE引擎Modifier详解
本文详细介绍了OGE引擎中Modifier的功能及使用方法,包括创建、注册、监听等过程,并介绍了缓动函数的应用。


OGE引擎的改动器功能非常强大,为我们提供了丰富的改动器的实现类,能够改动实体的属性。提供了移动、旋转、缩放、透明、自己定义序列、同步、循环等功能,并且改变的效果能够当场生效。也能够在某一个时间段内生效并且能够提供一些缓动函数达到更加丰富的效果。

 

一、Modifier创建

使用实例:

IEntity ball=new Sprite(0,0,ballRegion,this.getVertexBufferObjectManager());

MoveXModifier moveModifier = new MoveXModifier(0.5f,-ball.getWidth(),0);

ball.registerEntityModifier(moveModifier);

 

AlphaModifier:控制alpha变化的改动器

ScaleModifier:控制缩放变化的改动器

RotationModifier:控制旋转变化的改动器

ColorModifier:控制颜色变化的改动器

LoopEntityModifier:装载一个或多个IEntityModifier的循环改动器

SequenceEntityModifier:装载一个或多个IEntityModifier的顺序改动器

ParallelEntityModifier:装载一个或多个IEntityModifier的同步改动器(例:同一时候对一个Entity放大并旋转)

......

二、EaseFunction使用(缓动函数)

IEntity ball =new Sprite

    (0,0,ballRegion,this.getVertexBufferObjectManager());

MoveXModifier moveModifier = new MoveXModifier

    (0.5f,-ball.getWidth(),0,EaseBackInOut.getInstance());

ball.registerEntityModifier(moveModifier);

 

在创建Modifier的构造函数中,有个IEaseFunction接口。填入EaseXXX.getInstance();

三、Modifier注冊

当须要使用Modifier时须要调用Entity.registerEntityModifierfinal IEntityModifier pEntityModifier)方法进行注冊。

 

四、Modifier反注冊

在BaseModifier<T>中有一个域autoUnregisterWhenFinished,默认是true,代表Modifier执行完就自己主动反注冊,手动反注冊是调用Entity.unregisterEntityModifierfinal IEntityModifier pEntityModifier

五、Modifier监听

Modifier构造函数中IEntityModifierListener代表Modifier监听

 

//Modifier開始时

public void onModifierStarted(final IModifier<T> pModifier, final T pItem);

//结束Modifier

public void onModifierFinished(final IModifier<T> pModifier, final T pItem);

六、Modifier管理

Entity中,EntityModifierList是管理当前EntityModifier列表,事实上质是个ArrayList,注冊与反注冊事实上就是在这个Listadd或者remove处理。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值