libgdx Action 动作 动画

Libgdx中有个类Actions, 从它开始顺藤摸瓜就能把哪些简单的Action快速掌握

见代码:

 1 public class ActionTestScreen implements Screen,InputProcessor{
 2     private Stage stage;
 3     private Texture texture;
 4     private Image img;
 5
 6     @Override
 7     public void render(float delta) {
 8         Gdx.gl.glClearColor(1, 0, 0, 1);
 9         Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
10         stage.act();
11         stage.draw();
12     }
13
14     @Override
15     public void show() {
16         Gdx.input.setInputProcessor(this);//容易遗忘
17         stage = new Stage();
18         texture = new Texture("badlogic.jpg");
19         img = new Image(texture);
20         //img.setCenterPosition(img.getWidth()/2,img.getHeight()/2);//重要
21         img.setOrigin(img.getCenterX(),img.getCenterY());//重要!
22         stage.addActor(img);
23         System.out.println(img.getX()+","+img.getY());
24     }
25
26     @Override
27     public boolean keyDown(int keycode) {
28         switch (keycode){
29             case Input.Keys.NUM_1:{
30                 MoveByAction moveBy = Actions.moveBy(100,100,0.5f);
31                 img.addAction(moveBy);
32                 return true;
33             }
34             case Input.Keys.NUM_2:{
35                 MoveToAction moveTo = Actions.moveTo(200, 200, 0.5f);
36                 img.addAction(moveTo);
37                 return true;
38             }
39             case Input.Keys.NUM_3:{
40                 RotateByAction rotateBy = Actions.rotateBy(90,0.5f);
41                 img.addAction(rotateBy);
42                 return true;
43             }
44             case Input.Keys.NUM_4:{
45                 RotateToAction rotateTo = Actions.rotateTo(90, 0.5f);
46                 img.addAction(rotateTo);
47                 return true;
48             }
49             case Input.Keys.NUM_5:{
50                 ScaleByAction scaleBy = Actions.scaleBy(0.5f,0.5f,0.5f);
51                 img.addAction(scaleBy);
52                 return true;
53             }
54             case Input.Keys.NUM_6:{
55                 ScaleToAction scaleTo = Actions.scaleTo(0.5f,0.5f,0.5f);
56                 img.addAction(scaleTo);
57                 return true;
58             }
59             case Input.Keys.NUM_7:{//顺序执行
60                 img.setCenterPosition(0,0);
61                 img.setScale(1,1);
62
63                 MoveToAction m2 = Actions.moveTo(200,200,0.5f);
64                 RotateByAction r1 = Actions.rotateBy(360,0.5f);
65                 ScaleToAction s1 = Actions.scaleTo(0.5f,0.5f,0.5f);
66                 SequenceAction s = Actions.sequence(m2,r1,s1);
67                 img.addAction(s);
68                 return true;
69             }
70             case Input.Keys.NUM_8:{//同时执行
71                 img.setCenterPosition(0,0);
72                 img.setScale(1,1);
73
74                 MoveToAction m2 = Actions.moveTo(200,200,0.5f);
75                 RotateByAction r1 = Actions.rotateBy(360,0.5f);
76                 ScaleToAction s1 = Actions.scaleTo(0.5f,0.5f,0.5f);
77                 ParallelAction s = Actions.parallel(m2,r1,s1);
78                 img.addAction(s);
79                 return true;
80             }
81             case Input.Keys.A:{//同时执行
82                 AlphaAction a1 = Actions.alpha(0.5f,0.5f);
83
84                 img.addAction(a1);
85                 return true;
86             }
87             ......
88
89
90         }
91         return false;
92     }
93 ......

还有一些Action没有列出,用的时候再仔细研究吧,有的我也没搞懂呢

另:Actor貌似没有像2dx那种锚点概念,setPosition总是以左下角为基准??

libgdx Action 动作 动画

时间: 2024-10-12 17:53:43

libgdx Action 动作 动画的相关文章

Cocos2d-x 3.0 动作,动画

//执行一个action动作对象 runAction("action对象"); //暂停一个对象的动作 Director::sharedDirector()->getActionManger()->pauseTarget("对象"); //暂停所有对象的动作 Director::sharedDirector()->getActionManager()->pauseAllRunningActions(); //暂停所有对象的动作及其更新函数 p

cocos2d-x 3.1.1 学习笔记[3]Action 动作

这些动画貌似都非常多的样子,就所有都创建一次. 代码例如以下: /* 动画*/ auto sp = Sprite::create("card_bg_big_26.jpg"); Size size = Director::getInstance()->getWinSize(); sp->setScale(0.2); sp->setPosition(Vec2(size.width / 2 + 200, size.height / 2 + 200)); sp->set

Unity3D - 动作动画忽略timeScale

近期在调战斗时的动画与特效.Unity3D对加/减速提供了Time.timeScale支持.可是,timeScale提供的是全局的时间缩放,而我们有些动作或动画是不希望被timeScale加减速的.比方,<刀塔传奇>中播放大招时.除了大招特效,全部别的动作/动画都暂停. 以下各自是Animation.Animator和粒子特效的ignoreTimeScale方法. Animation Time.realtimeSinceStartup记录是不受timeScale影响的真实时间,利用它来在每一帧

iOS系列 基础篇 07 Action动作和输出口

iOS系列 基础篇 07 Action动作和输出口 目录:  1. 前言及案例说明 2. 什么是动作? 3. 什么是输出口? 4. 实战 5. 结尾 1. 前言及案例说明 上篇内容我们学习了标签和按钮,下面呢 我们通过一个具备用户交互功能的工程案例进一步练习这两个控件的使用,以及动作和输出口的控制. 此案例基于上篇内容的界面设计,功能的概念流程如图: 此案例的动作和输出口机制如图: 2. 什么是动作? 动作是为了响应一个控件的事件而定义的方法,类似于.NET中WinForm为控件某一事件添加的动

(转)Unity3D - 动作动画忽略timeScale

转自:http://blog.csdn.net/ynnmnm/article/details/46866347 最近在调战斗时的动画与特效,Unity3D对加/减速提供了Time.timeScale支持.但是,timeScale提供的是全局的时间缩放,而我们有些动作或动画是不希望被timeScale加减速的.比如,<刀塔传奇>中播放大招时,除了大招特效,所有别的动作/动画都暂停. 下面分别是Animation.Animator和粒子特效的ignoreTimeScale方法. Animation

Android 通过Intent调用系统功能和Action动作和服务广播【大全】

1.从google搜索内容 Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH);intent.putExtra(SearchManager.QUERY,"searchString")startActivity(intent); 2.浏览网页 Uri uri = Uri.parse("http://www.baidu.com");Intent it = new Intent(

Cocos2d-x 3.2 Action动作

本文参考于Cocos2d-x v3.2学习笔记中的(八)动作(Action) Action有三个子类: 1.FiniteTimeAction类:所有在有限时间能够完成的动作(action)的基类. 2.Follow类:一种“跟随”某一个节点的动作. 3.Speed类:改变一个action的运行速度,使他持续更长时间 (speed>1)或者更短的时间(speed<1).(Speed对象不能作为一个动作序列的一部分, 因为它不是一个ActionInterval对象) 其次FiniteTimeAct

cocos2dx中关于Action动作的相关API的详细介绍

 //CCMoveBy  创建一个移动的动作 //参数1:移动到目标坐标所需的时间 //参数2:目标坐标 //支持reverse 可以获取其反向动作 //CCMoveTo  一样的 //CCActionInterval * moveBy = CCMoveBy::create(5,ccp(300, 100)); //CCActionInterval * actionmoveback= moveBy->reverse(); //sp->runAction(actionmoveback); //

Struts2 Action/动作

动作是Struts2框架的核心,因为他们的任何MVC(模型 - 视图 - 控制器)框架.每个URL将被映射到一个特定的动作,它提供了来自用户的请求提供服务所需的处理逻辑. 但动作也提供其他两个重要的能力.首先,操作从请求数据的传输中起着重要的作用,通过向视图,无论是一个JSP或其它类型的结果.二,动作必须协助的框架,在确定结果应该渲染视图,在响应该请求将被退回. 创建动作: 在Struts2的动作,唯一的要求是必须有一个无参数的方法返回String或结果的对象,必须是一个POJO.如果不带参数的