cocos2dx3.0游戏编程2-动作游戏之自定义精灵类

本文介绍了如何在cocos2dx3.0中定义自定义精灵类,以适应动作游戏的开发需求。通过继承默认的sprite类,增加了待机、行走、攻击、受伤和死亡等动作,实现了一系列动画效果。文章详细讲解了实现思路、程序编写过程,包括枚举定义、类的方法以及如何加载和使用动画。
摘要由CSDN通过智能技术生成

上一节我们做了点准备工作, 本节我们将定义自己的sprite类,以便于后续的开发。Coco2dx提供的默认sprite类只提供了最基础的功能,我们要做动作游戏,仅仅只用cocos2dx的sprite类的功能是不够的,所以我们要继承sprite类,来实现自己的精灵类。

1.实现思路

动作游戏角色就是各种各样的动作,所以我们自定义的类会围绕这个功能来写,落羽这里只实现有代表性的几个动作,主要就是待机,走,攻击,受伤,死亡。动作游戏还要有数据,但是本节落羽不讲数据,只讲动画,数据以后再讲。效果如下


2.程序

定义枚举

enum class SpriteType	//精灵类型
{
	PLAYER = 1,
	ENEMY = 2
};

enum class SpriteState	//精灵状态
{
	NONE = 0,
	IDLE = 1,
	WALK = 2,
	ATTACK = 3,
	HURT = 4,
	KNOCKEDOUT = 5
};


头文件

#ifndef GAME_SPRITE_H
#define GAME_SPRITE_H

#include "cocos2d.h"
#include "Define.h"
USING_NS_CC;

class GameSprite : public Sprite
{
public:
	~GameSprite();
	void init(Point point, SpriteType type, float walkSpeed);//位置,精灵类型,移动速度
	void update(float dt);

	virtual void idle();					//待机
	virtual void walkWithDirection(Point direction);//移动
	virtual void attack();	//攻击
	virtual void hurtWithDamage(int damage);	//受伤
	virtual void knockedout();	//死亡

	void loadAnimation(SpriteType type);
protected:
	Action *idleAction;		//动画
	
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值