IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Cocos2D-X 动画与特效 -> 正文阅读

[游戏开发]Cocos2D-X 动画与特效

1.动画

1.先实例化一个动画类
2.向这个动画类添加帧图片
3.设置这个动画类的属性
4.将动画转换为动作
5.运行动作

代码示例:

Animation* Animation_1 = Animation::create();

for (size_t i = 0; i <= 15; i++)
{
	char str[128];
	sprintf_s(str, "WuGui\\wugui_%d.png", i);
	Animation_1->addSpriteFrameWithFileName(str);
}
Animation_1->setDelayPerUnit(0.05f);
Animation_1->setLoops(CC_REPEAT_FOREVER);
Animation_1->setRestoreOriginalFrame(false);
Animate* animate_1 = Animate::create(Animation_1);
wuGui->runAction(animate_1);

2.特效

特效实际上是属于间隔动作
特效类:GridAction(也叫做网格动作)
GridAction的直接子类: Grid3DAction / TiledGrid3DAction
其类关系如图:
在这里插入图片描述

1.实例化一个特效对象
2.将这个特效对象添加到当前层
3.将精灵作为子节点添加到特效对象下
4.运行特效 特效->runAction(某种特效::create(…));

代码示例:

	Sprite* fSprite_1 = Sprite::create("f.png");
	fSprite_1->setPosition(Vec2(visibleSize.width / 2 + 100,visibleSize.height / 2 + 100));
	fSprite_1->setScale(0.3);
	nodeGrid_1 = NodeGrid::create();
	this->addChild(nodeGrid_1);
	nodeGrid_1->addChild(fSprite_1);

	for (size_t i = 1; i <= 10; i++)
	{
		char num[16];
		sprintf_s(num, "%d", i);
		Label* l = Label::createWithTTF(num, "fonts/Marker Felt.ttf", 24);
		menuItemLabelArr[i - 1] = MenuItemLabel::create(l, CC_CALLBACK_1(Scene_9::menuItemLabelArrFunc,this));
		menuItemLabelArr[i - 1]->setPosition(i * 50 + 50,200);
		menuItemLabelArr[i - 1]->setTag(i - 1);
	}
	Menu* menu_1 = Menu::create(menuItemLabelArr[0], menuItemLabelArr[1], menuItemLabelArr[2],
		menuItemLabelArr[3],menuItemLabelArr[4],menuItemLabelArr[5],
		menuItemLabelArr[6],menuItemLabelArr[7], menuItemLabelArr[8],
		menuItemLabelArr[9],nullptr
		);

	this->addChild(menu_1);
	

}

void Scene_9::menuItemLabelArrFunc(Ref* pSender)
{
	MenuItemLabel* m = (MenuItemLabel*)pSender;
	switch (m->getTag()){
	case 0:
		nodeGrid_1->stopAllActions();
		nodeGrid_1->runAction(FlipX3D::create(2.0f));
		break;
	case 1:
		nodeGrid_1->stopAllActions();
		nodeGrid_1->runAction(PageTurn3D::create(2.0f,Size(15,10)));
		break;
	case 2:
		nodeGrid_1->stopAllActions();
		nodeGrid_1->runAction(Shaky3D::create(2.0f,Size(15,10),5,false));
		break;
	case 3:
		nodeGrid_1->stopAllActions();
		nodeGrid_1->runAction(Waves3D::create(2.0f, Size(15, 10), 5, 5));
		break;
	case 4:
		nodeGrid_1->stopAllActions();
		nodeGrid_1->runAction(JumpTiles3D::create(3.0f, Size(3, 2), 3, 40));
		break;
	case 5:
		break;
	case 6:
		break;
	case 7:
		break;
	case 8:
		break;
	case 9:
		break;
	}
}
  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-07-07 00:08:20  更:2021-07-07 00:08:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 12:57:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码