OGEngine使用Modifier修改动画

动画修改器(modifier)有很多种,常用的有一下几种:
1.AlphaModifier:透明度修改器,有以下几种构造:

  1. <font color="#000"><font face="Arial">public AlphaModifier(final float pDuration, final float pFromAlpha, final float pToAlpha) {
  2. this(pDuration, pFromAlpha, pToAlpha, null, EaseLinear.getInstance());
  3. }
  4. public AlphaModifier(final float pDuration, final float pFromAlpha, final float pToAlpha, final IEaseFunction pEaseFunction) {
  5. this(pDuration, pFromAlpha, pToAlpha, null, pEaseFunction);
  6. }
  7. public AlphaMod</font></font>ifier(final float pDu<font color="#000"><font face="Arial">ration, final float pFromAlpha, final float pToAlpha, final IEntityModifierListener pEntityModifierListener) {
  8. super(pDuration, pFromAlpha, pToAlpha, pEntityModifierListener, EaseLinear.getInstance());
  9. }
  10. public AlphaModifier(final float pDuration, final float pFromAlpha, final float pToAlpha, final IEntityModifierListener pEntityModifierListener, final IEaseFunction pEaseFunction) {
  11. super(pDuration, pFromAlpha, pToAlpha, pEntityModifierListener, pEaseFunction);
  12. }
  13. protected AlphaModifier(final AlphaModifier pAlphaModifier) {
  14. super(pAlphaModifier);
  15. }</font></font>

复制代码

pDuration代表动画修改周期,就是就是完成整个透明度变化所要的时间,单位为秒.
pFromAlpha代表起始透明度
pToAlpha代表目标透明度

2.ScaleModifier,比例修改器.主要是对动画的大小比例进行修改:

  1. public ScaleModifier(final float pDuration, final float pFromScale, final float pToScale) {
  2. this(pDuration, pFromScale, pToScale, null, EaseLinear.getInstance());
  3. }
  4. public ScaleModifier(final float pDuration, final float pFromScale, final float pToScale, final IEaseFunction pEaseFunction) {
  5. this(pDuration, pFromScale, pToScale, null, pEaseFunction);
  6. }
  7. public ScaleModifier(final float pDuration, final float pFromScale, final float pToScale, final IEntityModifierListener pEntityModifierListener) {
  8. this(pDuration, pFromScale, pToScale, pFromScale, pToScale, pEntityModifierListener, EaseLinear.getInstance());
  9. }
  10. public ScaleModifier(final float pDuration, final float pFromScale, final float pToScale, final IEntityModifierListener pEntityModifierListener, final IEaseFunction pEaseFunction) {
  11. this(pDuration, pFromScale, pToScale, pFromScale, pToScale, pEntityModifierListener, pEaseFunction);
  12. }
  13. public ScaleModifier(final float pDuration, final float pFromScaleX, final float pToScaleX, final float pFromScaleY, final float pToScaleY) {
  14. this(pDuration, pFromScaleX, pToScaleX, pFromScaleY, pToScaleY, null, EaseLinear.getInstance());
  15. }
  16. public ScaleModifier(final float pDuration, final float pFromScaleX, final float pToScaleX, final float pFromScaleY, final float pToScaleY, final IEaseFunction pEaseFunction) {
  17. this(pDuration, pFromScaleX, pToScaleX, pFromScaleY, pToScaleY, null, pEaseFunction);
  18. }
  19. public ScaleModifier(final float pDuration, final float pFromScaleX, final float pToScaleX, final float pFromScaleY, final float pToScaleY, final IEntityModifierListener pEntityModifierListener) {
  20. super(pDuration, pFromScaleX, pToScaleX, pFromScaleY, pToScaleY, pEntityModifierListener, EaseLinear.getInstance());
  21. }
  22. public ScaleModifier(final float pDuration, final float pFromScaleX, final float pToScaleX, final float pFromScaleY, final float pToScaleY, final IEntityModifierListener pEntityModifierListener, final IEaseFunction pEaseFunction) {
  23. super(pDuration, pFromScaleX, pToScaleX, pFromScaleY, pToScaleY, pEntityModifierListener, pEaseFunction);
  24. }
  25. protected ScaleModifier(final ScaleModifier pScaleModifier) {
  26. super(pScaleModifier);
  27. }

复制代码

pDuration代表动画修改周期,就是就是完成整个变化所要的时间,单位为秒.
pFromScale代表起始透大小比例
pToScale代表目标大小比例

3.位置相关的Modifier:
    MoveModifier(final float pDuration ,final float pFromX,final float pToX,final float pFromY,final float pToY,final IEntityModifierListener pEntityModifierListener,final IEaseFunction pEaseFunction)
红色为可选参数,表示修改器的完成时的监听回调和缓动函数

pDuration为移动所持续的秒数。

除此之外,还有MoveXModifier(...),及MoveYModifier(...),顾名思义,当实体只要在一个正交方向上移动时可以使用。

4.延迟相关的Modifier:
    DelayModifier(final float pDurationfinal IEntityModifierListener pEntityModifierListener)
    pDuration为延迟的时间, pEntityModifierListener会在延迟动作完成时回调。

5.旋转相关的Modifier:
    RotationModifier(float pDuration, float pFromRotation, float pToRotation)
    R otationAtModifie(...)

6.透明度相关的Modifier:
    AlphaModifier(float pDuration, float pFromAlpha, float pToAlpha)

7.颜色相关的Modifier:
    ColorModofier(....)

8.Modifier的组合
    有时候,仅仅一种效果是不够用的。此时,就需要构建一系列的Modifier组合来改变。

ParallelEntityModifier:当需要对某个Entity同时应用两个以上Modifier时使用
    ParallelEntityModifier(IEntityModifier... pEntityModifiers)

SequenceEntityModifier:当需要对某个Entity顺序地应用两个以上Modfier时使用
    SequenceEntityModifier(IEntityModifier... pEntityModifiers)

http://www.eoeandroid.com/forum-863-1.html

www.ogengine.com

OGEngine使用Modifier修改动画

时间: 2024-11-25 18:44:34

OGEngine使用Modifier修改动画的相关文章

iOS开发之修改动画对象的元素属性

步骤:1.使用single view application创建新的项目 2.在.h文件中使用UIimageview创建两个图片实例对象,使用UIDynamicAnimator创建动画对象 3.在.m中实现相关的代码 在.h文件中 在.文件中

源码中修改Android的开机画面和动画【转】

本文转载自:http://blog.csdn.net/dddxxxx/article/details/54343976 参照文章:http://blog.csdn.net/a345017062/article/details/6222962.http://bbs.gfan.com/android-146253-1-1.html. Android系统开机显示画面分成两个过程,第一个过程从按电源键到Frameworks启动为止.第二个过程从Frameworks启动完成到Launcher程序启动完成.

OGEngine_修改器

前言 Modifier的作用是以编程的方式来修改Entity对象的关键属性.开发者可以用它来修改Entity的位置.缩放.颜色.角度.透明值等.介绍各种可用的Modifier类型,并讲述如何将Modifier对象组合成序列来使用. 修改的效果将会在Entity 的 registerEntityModifier之后执行,若被添加Modifier的Entity还没被添加至场景或者图层(没执行attachChild方法),那么效果直到Entity被添加到场景才会执行. 典型用例 entity.regi

iOS 自定义转场动画篇

前言: 自定义转场动画其实并不难, 关键在于能够明白思路, 也就是操作步骤. 本篇博客主要以present转场动画为例, 进行分析, 操作, 如有错误欢迎简信与我交流. 不进行修改的话, presentViewController:animated:completion:相信这个方法很多人都是用过, 称作模态推出界面, 默认都是从屏幕下方推出新的控制器. 自定义的目的就是为了修改固定的推出方式, 同时加上你想要的动画. 一个关键的概念: UIViewControllerAnimatedTrans

css3动画详解

一.Keyframes介绍: Keyframes被称为关键帧,其类似于Flash中的关键帧.在CSS3中其主要以"@keyframes"开头,后面紧跟着是动画名称加上一对花括号"{-}",括号中就是一些不同时间段样式规则. @keyframes changecolor{ 0%{ background: red; } 100%{ background: green; }} 示例:创建一个动画名叫"changecolor",在"0%&quo

iOS 仪表式数字跳动动画-b

前几天搞了 双曲线波浪动画(http://www.jianshu.com/p/7db295fd38eb)和环形倒计时动画(http://www.jianshu.com/p/d1d16dff33c9)而且感觉效果还不错,喜欢的人还很多,于是今天打算 在搞一个"仪表式数字跳动动画". 那么什么是仪表式数字跳动动画. 直接上效果 6月-27-2016 11-28-17.gif 一, 看了效果也许就明白仪表式数字跳动动画是什么鬼了(名字是我自己取得)先梳理一下思路: 首先可以看到文字在上下滑动

iOS Core Animation Advanced Techniques-显式动画

上七章节: 图层树 图层的寄宿图 图层几何学 图层视觉效果 图层变换 专用图层 隐式动画 这篇随笔主要介绍有关图层显式动画. 显示动画: 能对一些属性做指定的自定义动画,或者创建非线性动画 属性动画: 属性动画作用于图层的某个单一属性,并指定了它的一个目标值,或一连串将要做动画的值 属性动画分两种: 1.基础 2.关键帧 基础动画:(通过CALayer的实例方法addAnimation: forKey:给图层添加显示动画) CABasicAnimation-->CAPropertyAnimati

Android学习之 属性动画&lt;Property Animation&gt;

property 动画系统是相当健壮的框架,它几乎可以动画显示任何对象. 你可以定义一个动画来定时改变任何对象的属性值,不论该对象是否在屏幕上显示. property 动画将以一定的时间间隔修改属性值(对象中的字段值). 要实现动画显示,你须指定对象的相应属性(比如对象的屏幕位置),以及动画时长.动画时间间隔. property 动画系统能让你设定以下动画要素: 1.持续时间:指定动画的持续显示时间.默认的时长是300毫秒. 2.插值因子:指定属性值的变化方式,表示为关于动画已显示时间的函数.

前端动画整合

一.背景: 合适的动画不仅更能吸引人们的眼球,也能让你的应用体验更为流畅,而将动画的效果做到极致,才能让用户感到使用你的应用是一种享受,而不是觉得生硬和枯燥. 二.动画技术分类:   按技术类型来进行分类,分为三类:JS动画,CSS3动画,html5动画,接下来分别对三类动画进行讲解. 1)JS动画 通过一个定时器setInterval间隔来改变元素样式,动画结束时clearInterval即可.(早期类库:jquery.prototype.mootools) 优缺点: 优点:可控性很强,兼容性