第一个项目(四)让主角动起来

CocosCreator做摄像机跟随主角移动 上一篇文章写到creator中rpg游戏摇杆的功能,而这类型游戏中主角的移动势必会带来地图位置的变化,今天我们就来完成摄像机跟随主角,从而使主角看起来是在地图中奔跑。 首先,在这种类型游戏的地图(地图很大)是使用瓦片地图 tiled是使用小地图在大地图的格子中一块一块拼起来,从而完成大地图的制作。 软件打开后首先新建一个地图, 在这里我准备好了我需要的素材以及将他们拖到了软件中的图... 阅读详情

 通过尝试,我发现cocos2dx的坐标系统,如果指定一个对象的位置,其实是指定这个对象的中心位置,还是挺方便的。

 好吧到现在为止,主角已经能在画布上显示出来了。现在想办法给主角加个跑动的动作啥的。

 我看了看dome,大概是这样的。

  一组png  -->CCArray*frameArray  -->CCAnimation* animation  -->CCAnimate*action

先把图像导入矩阵,然后放入CCAnimation就可以设置延迟啊什么的,很明显,CCAnimation是个名词,容器类的东西,CCAnimate是个动词(是吧?),然后把名词交给动词就可以创建动画了,我就是这样理解的。

                 首先需要跑动时的分解图片,由于我自己的还没画出来,干脆就找了个暴漫的动作,从网上下载下来的是gif动图,载入ps一共有19帧,分别去背景然后保存就好了。

把19帧都放到资源文件夹里面

我在h文件中定义了一个函数,返回值为CCAnimate指针的getaction函数,我将在这个函数里面写关于创建动画的代码,之后直接返回动画,让主角精灵来用。假装显得代码干净些...

写到这里发现官方的  创建动画的时候 把每一帧存到数组里 我看demo里有这样写 frame = CCSpriteFrame::create(CCString::createWithFormat(run%d.png,i))->getCString(),CCRectMake(.......)):  ,我觉得CCSpriteFrame::create这个函数的第一个参数不能直接放图片么 这么写是什么意思并没用弄明白,在群里问了也没人会,可能是太晚了大神都睡觉了吧(不对啊大神不是要熬夜写程序吗)雪特气死我了!

    无奈的我去cocos2dx的官网看了帮助文档,原来这个参数类型应该是string,这个句子的作用应该是强制转换之类的........而且据说实际开发中很少用单独的图片这样读取速度慢,于是我试着打包。

软件用的是texturepacker,我听了老人的话,试了试还是挺方便的,自己用ps做还得鼓捣一会。把生成的图片和配置文件统统放入资源文件夹里面。

现在说一下关于动画的思路。

1,把组图添加到帧缓冲池

2,我们要循环的把每一帧图片加入数组,所以要定义一些量,比如最大图片坐标,临时帧储存,和数组。

3,循环存入数组

4,数组交给CCAnimation

5,继续交给CCnimate

代码如下


CCAnimate* TollgateScene::getaction()
{
	//1 添加到帧缓冲池
	CCSpriteFrameCache* frameCache = CCSpriteFrameCache::sharedSpriteFrameCache();
	frameCache->addSpriteFramesWithFile("p.plist","p.png");
	//2 循环参数
	int imax = 19;
	CCSpriteFrame* frame;
	CCArray* pArray = CCArray::create();
	//3 循环添加帧
	for (int i=1; i<=imax;i++)
	{
		frame=frameCache->spriteFrameByName(CCString::createWithFormat("%d.png",i)->getCString());
		pArray->addObject(frame);
	}
	//4 给CCAnimation
	CCAnimation* nima = CCAnimation::createWithSpriteFrames(pArray);
	nima->setDelayPerUnit(0.1f);
	nima->setLoops(-1);
	//5 给CCAnimate
	CCAnimate* action = CCAnimate::create(nima);
	
	
	return action;
}

当然创建了精灵之后要加上

m_player->runAction(getaction());

初学者使用cocos creator制作第一个小游戏 最近微信小游戏开始萌芽,根据老师的要求开始学习cocos creator紧跟互联网的潮流,先是花了几天大概学了学HTML/CSS/Javascript,之后就直接开始看cocos creator的官方文档,看了两三天总算是根据教程一步一步的做了官方提供的第一个小游戏,官方文档上给的第一个小游戏制作过程确实是比较详细的,但是它没有对用到的每个api做详细的解释,估计目的是让初学者大概了解一下一个小游 阅读详情

相关推荐

unity--怪物打主角

欢迎大家关注我的日志,昨天简单的介绍了主角打怪物,今天就写写怪物打主角:   1、    当玩家离怪物很近的时候,怪物就会寻找到玩家,并攻击玩家   Vector3 .Distance (transform .position ,hero .position  ) // 判断玩家的距离和怪物的距离如果小于2米,就调用怪物攻击的动作,去攻击玩家 public st

qq_23337215的专栏 1859

pygame绘制一个小人在窗口内移动

Pygame如何绘制一个小人在窗口内移动 利用·pygame.draw模块可以绘制一些简单的图像,但是这只是一些静态图像。只有可以对这些图像进行操作才会产生游戏性,我们怎样可以实现利用键盘控制图像使它移动呢? 函数实现 首先,图像的移动本质其实就是点的移动。可以根据一个参考点绘制出相对应的图像,改变参考点的坐标就可以实现图像的整体移动。 # 传入左上角的位置坐标 BLACK = (0, 0, 0) def drawMan(left, top): pygame.draw.circle(screen,

weixin_45951701的博客 1309

unity_小功能实现(敌人追踪主角)

1、敌人发现主角有两种形式:   a、看见主角(主角出现在敌人的视野之内)   b、听见主角(听见主角走路声或者是跑步声) a:看(see) 首先判断主角是否在敌人视野角度内,那么我们只需要判断B<0.5*A能不能成立 b:听(listen) 代码如下: using UnityEngine; using System.Collections; ...

weixin_30536513的博客 6361

(二)通过pygame让游戏人物 动起来

利用时钟,设置游戏循环的刷新帧率 正常来说,python在进行无限循环的时候, 速度是非常快的,如以下代码: import pygame pygame.init() #创建游戏窗口 大小为480 * 700 #绘制背景图像 screen = pygame.display.set_mode((480,700)) #加载图像数据 bg = pygame.image.load(r'.\images\background.png') #通过blit来绘制图像,从游戏窗口screen的(0,0)处开始绘制 scre

fjswcjswzy的博客 8856

unity3D__主角打怪物

欢迎大家关注我的日志,今天简单的讲讲主角打怪物:   //主角走动 private NavMeshAgent agent; public GameObject hero; public static float lifeTime = 0f; public bool flag=false ; //private float timer=1f; void Start (

qq_23337215的专栏 1190

Unity3D制作3dRPG游戏——主角移动控制实现

Unity3D制作3dRPG游戏——主角移动控制实现 目录Unity3D制作3dRPG游戏——主角移动控制实现实现原理具体操作问题解决总体代码及效果展示完整代码(镜头控制由之前的文章修改得到,在此不做展示)展示视频 实现原理 利用射线碰撞来计算当前想要让角色如何行动。当用户按下鼠标左键时创建一条射线从屏幕上向相机指向方向发射。申请一个临时变量记录射线投射碰撞信息,并且进行射线投射。条件判断,如果射线碰撞上了设置的tag的物体(事先在unity内把游戏中场景的tag设置好),控制主角看向这个点,并把标识样式放

hugo_yx的博客 2800

『功能项目』怪物反击主角复活【14】

怪物的反击主角的复活

weixin_69360830的博客 1265

【深度学习】普通卷积、DWconv(逐深度卷积)与PWconv(逐点卷积)以及DSconv(深度可分离卷积)

深度可分离卷积(Depthwise Separable Convolution)通过将常规卷积分解为逐通道卷积(Depthwise)和逐点卷积(Pointwise)两步,显著减少了参数量和计算成本。常规卷积同时提取空间和通道特征,而深度可分离卷积先对每个通道单独进行空间卷积,再用1×1卷积调整通道数。以输入3通道、输出4通道的64×64图像为例,常规卷积需108个参数,而深度可分离卷积仅需39个参数,减少了约2/3。这种结构在轻量级网络(如MobileNet)中广泛应用,可在保持性能的同时降低计算资源需求。

猫天意的博客 4072

指南:主角

主角主角实例是指在系统外部与系统进行交互的人或物。一个主角类定义一个主角实例集,其中的各个主角实例在系统中都担任同一角色。主题解释 如何查找主角 主角帮助定义系统边界 简要说明 主角特征 解释 要充分了解系统的目的,您就必须知道系统是为谁而设计的,即谁将使用该系统。不同类型的用户用主角来表示。主角是与系统交换数据的任何事物。主角可以是用户,也可以是外部硬件或者其他系统。主角与单个系统用户的区别在于

luckisok的专栏 1131

Jenkins插件下载慢?3分钟搞定国内镜像加速(含华为/腾讯/清华源对比)

本文详细介绍了如何通过国内镜像源加速Jenkins插件下载,包括华为云、腾讯云和清华源等主流镜像站的性能对比及一键配置方案。通过实测数据展示华为云镜像站表现最佳,下载速度达19.4MB/s,并提供sed命令、管理界面配置和Docker定制三种高效加速方案,帮助开发者快速解决插件下载慢的问题。

sql99的博客 320

如何设计QR反激变换器

摘要:本文分析了基于GaN技术的PD适配器市场现状,重点探讨了准谐振反激变换器(QR Flyback)的工作原理及设计方法。文章首先介绍了反激变换器的三种工作模式(CCM、DCM、CRM/QR)及其特点,指出QR模式通过谷底开通技术能显著降低开关损耗。随后以65W适配器为例,详细阐述了变压器参数设计流程,包括匝比确定、原边电感计算和绕组匝数设计等关键步骤。文章强调QR反激变换器凭借高效率、小体积和低成本优势,已成为20W-65W PD适配器的主流拓扑方案,配合GaN技术进一步提升了功率密度和便携性。

m0_62868254的博客 1498

游戏角色开始动起来了,真帅!【python 游戏实战 03】

前言 本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新,包括别的语言以及实战都将使用对话的方式进行教学,基础编程语言教学适用于零基础小白,之后实战课程也将会逐步更新。 若有想学习的内容可以在评论区留言,根据大家的要求持续更新。点赞过十万就算化成灰我也更新下一篇。 有问题也可以在评论区留言,也可以私聊我加我好友共同交流一起进步~ 我的其它教程 教程点击进去将会有目录 《看聊天记录都学不会C语言?太菜了吧(1)我在大佬群里问基础问题没人理?——学习建议 《大学

1_bit 的博客 1万+

嵌入式常用通信协议 #概述

嵌入式通信协议

AFK3060的博客 2117

『功能项目』主角的信息显示【16】

主角UI信息及主角升级

weixin_69360830的博客 956

手把手教你用STM32实现SPWM逆变器控制(附完整代码)

本文详细介绍了如何使用STM32微控制器实现SPWM逆变器控制,包括硬件设计、PWM生成配置、正弦表生成与DMA传输,以及闭环控制与性能优化。通过完整的代码示例和实测数据,帮助开发者快速掌握SPWM技术,应用于新能源和电力电子领域。

weixin_29296241的博客 319

华为od 面试八股文_C语言_02_含答案

华为od 面试八股文_C语言_02_含答案

MISAYAONE的博客 2230

『功能项目』主角属性值显示【75】

实现主角属性界面的数据同步

weixin_69360830的博客 1044

【忍者算法】从生活案例理解滑动窗口最大值:一个超直观的思路讲解|LeetCode 239 滑动窗口最大值

点此看全部题解更多干货,请关注公众号【忍者算法】,回复【刷题清单】获取完整题解目录~

忍者算法的博客 632

主角的设计

常见的分类标准如下: 职业:例如战士,道士,法师,召唤师 种族:例如人类,精灵,兽人,亡灵等 国家:例如战国七雄 门派:例如少林,武当,峨眉,华山 主角的设计内容 在确定主角的分类之后,要确定的就有主角的背景,特色等内容。接下来的工作就是按照主角的分类和下面的几方面内容,分别从各个角度加以详细的设计和说明。 主角设计包含的内容有:故事背景,特色说明,形象设计和属性设计。这些内容只是属于主角的...

qq_32604207的博客 739

单片机设计具备断电记忆功能的计时器

本文介绍了如何设计一款具备断电记忆功能的计时器,利用单片机和EEPROM存储器实现了计时器值的保存和恢复。当然,在实际的设计中还需要考虑其他因素,如电源管理、时钟精度等,以确保计时器的正常运行和准确性。选择合适的单片机:在设计计时器时,我们需要选择一款具备存储功能的单片机,以便在断电后能够保存计时器的状态。可以优化显示方式,使用更加直观的界面来展示计时器的值;函数中,我们首先从 EEPROM 中读取计时器的初始值,然后在一个无限循环中每秒钟增加计时器的值,并将新的值写入 EEPROM 中。

RlDart的博客 1094

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

unity 摄像机跟随主角移动

摄像机跟随(普通版) using System.Collections; using System.Collections.Generic; using UnityEngine; public class CameraFollow : MonoBehaviour { private Transform playerTrans; private Vector3 offset; ...

weixin_43839583的博客 5548

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

使用cocosstudio构建横版游戏主角2

昨天实现了从ccs中导出一个动画给2dx使用。不妨就把他当成游戏的主角。今天要实现另外一个基本元素————地图。 ccs提供了地图编辑器,但是做横版四方向游戏还是推荐使用tiled编辑器。他本身是一个开源的地图编辑器,而且在2dx中使用起来很方便。 tiled拼接完成后会有一个后缀名为.tmx的地图文件和对应的图片文件。把这些资源放入2dx的资源文件夹中。接下来就是在代码中去使用他了。 CC

yilagou的专栏 889

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Unity3D学习笔记02:GUI主角跟随鼠标运动

今天我们来讲一下在2D平面内怎样使一个主角跟随鼠标进行移动和旋转,首先我们需要准备一张主角运动的帧动画序列图片,如下图所示:                         我们先来观察一下这张图片,我们需要使用的仅仅是下面两行的帧动画,这在后面的裁剪图片的方法中我们会定义初始的裁剪帧为第十帧,即第三行的第一列,这里需要注意一下。        下面我把实现代码贴出来,都添加了注释,但在

路上的点滴 3380

【Unity2D】如何制作一个炮台追踪主角发射子弹

【Unity2D】如何制作一个炮台追踪主角发射子弹@[TOC](【Unity2D】如何制作一个炮台追踪主角发射子弹)一、前言(一)、制作想法来源(二)、效果预览二、制作流程(一)、准备(二)、炮台的旋转(三)、炮台的检测和发射子弹(三)、最后效果图三、结束语 一、前言 (一)、制作想法来源 前段时间为期末考试写了一篇博客,其中涉及到一个发射子弹击中主角的效果,由此想到了去制作一个发射子弹的炮台,其中考试的博客原文链接:点我跳转 (二)、效果预览 二、制作流程 (一)、准备 1.炮台素材,我为了简单,自己用

Z_hongli的博客 6490

【项目经理之修炼(4)】 故事的主角是你吗?

---------------------------------------------------成为天下第一高手,难吗?不难!!经过我刻苦钻研,发现一条捷径:跳崖!武侠小说的主人公们会在一处非常险恶的悬崖,不顾一切地跳下去,然后就奇遇不断,想不成天下第一高手都难。很显然,成功的都是从跳崖开始的。---------------------------------------------

孙继滨@程序世界 1681

杀死主角

众所周知,在武侠小说中有一个颠扑不破的定律--主角不死定律。如果在一本武侠小说中主角死了,那原因只有两个:1他不是真正的主角,只是个伪主角(如张翠山)2他不是唯一的主角(如萧峰)    但现在,你作为一部根据某著名武侠作家的名著改编成的投资上亿的受全国人民关注的武侠片中的大反派,你的使命就是:杀死主角,一个真正的唯一的主角,英俊潇洒玉树临风气宇轩昂风度翩翩的男一号。很显然,这是一个不可能完成的任务

yumi301的专栏 1072
上一篇: 第一个项目(三)
下一篇: 第一个项目(五)添加跳跃动作
Fried_potatoes
博客等级 码龄12年 5粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值