什么是精灵:

1.精灵就是游戏当中的一个元素,通常用于代表画面当前中的一个事物,例如主人公,NPC和背景元素等;

2.一个精灵对象通常都与一张图片关联

3.精灵对象可以通过动作对象(CCAction)来产生动画效果

如何声明一个精灵对象

    //声明一个精灵对象
CCSprite player;

如何将一个精灵对象添加到布景层中

        //初始化精灵对象
player = CCSprite.sprite("player.png"); //设置精灵对象的位置(cocos2d中坐标原点在左下角而不是左上角)
player.setPosition(100,100); //将精灵对象添加到布景层中
this.addChild(player);

坐标也可以用CGPoint表示

        //CGPoint用于表示坐标和向量
CGPoint point = CGPoint.ccp(100, 100);
player.setPosition(point);

为精灵对象添加动作

        CGPoint target = CGPoint.ccp(600, 100);
//添加动作action(3s,pos,height,次数)
CCJumpTo jumpTo = CCJumpTo.action(3, target, 200, 5); //使用精灵对象执行该动作
player.runAction(jumpTo);

其他动作:

        //瞬时动作
//沿Y轴镜象
CCFlipX flipX = CCFlipX.action(true);
//沿X轴镜象
CCFlipY flipY = CCFlipY.action(true);
//隐藏
CCHide hide = CCHide.action();
//现实
CCShow show = CCShow.action(); //延时动作
CGPoint pos = CGPoint.ccp(600, 600);
CCMoveTo moveTo = CCMoveTo.action(5, pos);
//五秒钟逆时针旋转270度(cocos2d中使用的是角度而不是弧度)
CCRotateTo rotateTo = CCRotateTo.action(5, 270);
//五秒钟内放大10倍
CCScaleTo scaleTo = CCScaleTo.action(5, 10);
//五秒钟内闪烁10次
CCBlink blink = CCBlink.action(5, 10); //执行对象
//sprite.runAction(moveTo);
//sprite.runAction(rotateTo);
//sprite.runAction(scaleTo);
sprite.runAction(blink);

完整代码:

 import org.cocos2d.actions.interval.CCJumpTo;
import org.cocos2d.layers.CCLayer;
import org.cocos2d.nodes.CCSprite;
import org.cocos2d.types.CGPoint; public class GameLayer extends CCLayer { //声明一个精灵对象
CCSprite player; public GameLayer(){
//初始化精灵对象
player = CCSprite.sprite("player.png"); //设置精灵对象的位置(cocos2d中坐标原点在左下角而不是左上角)
//CGPoint用于表示坐标和向量
CGPoint point = CGPoint.ccp(100, 100);
player.setPosition(point); //将精灵对象添加到布景层中
this.addChild(player); CGPoint target = CGPoint.ccp(600, 100);
//添加动作action(3s,pos,height,次数)
CCJumpTo jumpTo = CCJumpTo.action(3, target, 200, 5); //使用精灵对象执行该动作
player.runAction(jumpTo);
}
}

Cocos2d-android (02) 添加一个精灵对象的更多相关文章

  1. Android 如何添加一个apk使模拟器和真机都编译进去 m

    添加一个apk都需要将LOCAL_PACKAGE_NAME的值添加到PRODUCT_PACKAGES才行.而PRODUCT_PACKAGES一般在build/target/product/目录下的文件 ...

  2. Android 如何添加一个新的时区

    前言          欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处:          CSDN:http://www.csdn.net        ...

  3. android webview 添加内置对象

    package com.android.EBrowser; import android.app.Activity;import android.graphics.Rect;import androi ...

  4. Android P添加一个可以让system_server进程访问的hal service需要改动的sepolicy文件

    在device/sepolicy/common目录中: 修改文件attributes: attribute hal_newXX;attribute hal_newXX_client;attribute ...

  5. android 直接添加一个Fragment到activity,不需要额外setContentView

    getSupportFragmentManager().beginTransaction().replace(android.R.id.content,new ArticleListFragment( ...

  6. Android按键添加和处理的方案

    Android按键添加和处理的方案  版本号 说明 作者 日期  1.0  Android按键添加和处理的方案 Sky Wang  2013/06/18        需求:Android机器上有个W ...

  7. Android按键添加和处理的方案【转】

    本文转载自:http://www.cnblogs.com/skywang12345/p/3142851.html Android按键添加和处理的方案  版本号 说明 作者 日期  1.0  Andro ...

  8. 为jEasyUi的日期控件添加一个“清空”按钮----通过修改1.4的easyui.min.js

    为 jQuery EasyUI 1.4 的datebox或datetimebox添加一个清空按钮 使用场景:为用户指定了日期的格式,且日期可以为空 修改语言包easyui-lang-zh_CN.js ...

  9. Egret--添加一个精灵事件

    class Hello extends egret.DisplayObjectContainer{ //入口函数 private onAddStage(event:egret.Event){ //打开 ...

随机推荐

  1. [iOS]iPhone推送原理

    推送原理,先上图 说一下原理吧, 由App向iOS设备发送一个注册通知 iOS向APNs远程推送服务器发送App的Bundle Id和设备的UDID APNs根据设备的UDID和App的Bundle ...

  2. 【java】String类和StringBuffer类常用操作

    String类是字符串常量,是不可更改的常量.而StringBuffer是字符串变量,它的对象是可以扩充和修改的.StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于Stri ...

  3. 如何在oracle中导入dmp数据库文件

    Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. 利 ...

  4. 《mysql数据库备份小脚本》(转)

    vim mysql.sh #!/bin/bashDAY=`date +%Y-%m-%d` //日期以年月日显示并赋予DAY变量SIZE=`du -sh /var/lib/mysql //查看mysql ...

  5. 【公司要求】- RPC学习(一)

    HADOOP-IPC(这里说的是1.0.4版本) 是轻量级RPC,在hadoop中主要用于2方面 1.TaskTracker和JobTracker 通讯. 2.NameNode和DataNode通讯. ...

  6. SGU 149 Computer Network 树DP/求每个节点最远端长度

    一个比较经典的题型,两次DFS求树上每个点的最远端距离. 参考这里:http://hi.baidu.com/oi_pkqs90/item/914e951c41e7d0ccbf904252 dp[i][ ...

  7. Linux之Samba的配置

    Samba的配置   对于linux与windows共享,和平共处,我们可以用Samba软件 Samba是一套免费的开源软件,可以在linux或其他类unix操作系统上实现windows域控制器,文件 ...

  8. Java中什么时候使用构造方法

    JAVA是面向对象的语言,面向对象不是这么直接简单,它的设计思想就是要代码重用.即我以前干过类似的事,那么我找出以前可以用到的代码,完成一部分.以前没有的我重新写.这样就有了类.有了类,就是有了可以重 ...

  9. C++ STL 中erase()的使用需要小心

    C++ STL极大的方便了用户编写程序,但是同时一不小心也会犯一些错误,如erase()造成迭代器失效经常会引起错误. 错误示例: std::list< int> List; std::l ...

  10. ubuntu 安装 rabbitmq-server

    Rabbitmq 是用 erlang 语言写的,所以我们需要安装 Erlang,安装 erlang 又需要安装 python 与 simplejson,所以我们从python开始: 1.安装 pyth ...