05 游戏开发-动作类使用

1.动作类基本概念

  1. 动作对象通常不会单独存在
  2. 动作类对象需要作用在精灵、图层等对象才能发挥作用,其中图层动作例如雷霆战机图层后退
  3. 动作类包含很多类型,例如位移、缩放和旋转等

2.动作的分类方法

动作的分类方法

package com.su.cocos2dhelloworld;

import org.cocos2d.actions.instant.CCFlipX;
import org.cocos2d.actions.instant.CCFlipY;
import org.cocos2d.actions.interval.CCJumpTo;
import org.cocos2d.actions.interval.CCMoveTo;
import org.cocos2d.actions.interval.CCRotateTo;
import org.cocos2d.layers.CCLayer;
import org.cocos2d.nodes.CCSprite;
import org.cocos2d.types.CGPoint;

// 布景层
public class GameLayer extends CCLayer {

    // 声明一个精灵对象
    private CCSprite mCCSprite;

    public GameLayer() {
        // 实例化精灵对象,assets文件下
        mCCSprite = CCSprite.sprite("player.png");
        // 添加到布景层中
        this.addChild(mCCSprite);
        CGPoint mCGPoint = CGPoint.ccp(100, 100);
        mCCSprite.setPosition(mCGPoint);

        // moveTo();
        rotateTo();
    }

    // 旋转动画
    private void rotateTo() {
        CCRotateTo mCCRotateTo = CCRotateTo.action(3, 180);
        mCCSprite.runAction(mCCRotateTo);
    }

    // 移动动画
    private void moveTo() {
        CGPoint mCGPoint = CGPoint.ccp(400, 400);
        int time = 3;
        CCMoveTo mCCMoveTo = CCMoveTo.action(time, mCGPoint);
        mCCSprite.runAction(mCCMoveTo);
    }

    // 沿水平方向镜像瞬时移动
    private void flipX() {
        CCFlipX mCCFlipX = CCFlipX.action(true);
        mCCSprite.runAction(mCCFlipX);
    }

    // 沿垂直方向镜像瞬时移动
    private void flipY() {
        CCFlipY mCCFlipY = CCFlipY.action(true);
        mCCSprite.runAction(mCCFlipY);
    }

    private void move() {
        // 设置精灵对象的位置
        CGPoint mCGPoint = CGPoint.ccp(100, 100);
        mCCSprite.setPosition(mCGPoint);

        // 添加到布景层中
        this.addChild(mCCSprite);

        int animationTime = 3;
        CGPoint mTargetCGPoint = CGPoint.ccp(300, 300);
        int jumpHeight = 300;
        int repeat = 3;
        CCJumpTo mCCJumpTo = CCJumpTo.action(animationTime, mTargetCGPoint, jumpHeight, repeat);
        mCCSprite.runAction(mCCJumpTo);
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

法迪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值