大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.

如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;)


在RPG游戏中我们在进入一个新的场景时,比如一个房间,一个村庄,或野外场景等,如果能在屏幕上显示场景地图的名字就很人性化了,这样可以提醒玩家现在自己在哪里.

下面就让本猫带领大家用SpriteBuilder快速制作这么一个显示地图的小动画 ;)

首先,打开SpriteBuilder,新建一个CCB文件,类型为Node:

拖入一个CCSprite9Slice节点,然后再拖入一个Label节点.设置好节点的连接名称为_mapNameLabel.在这里你可以任意调整颜色,大小,字体等等属性,直到你满意为止.

好了界面完成了,我们还没有写一行代码呢.

发布SpriteBuilder,然后打开Xcode,在地图基类中添加如下代码:

-(void)showMapNameAction{
    MapNameNode *node = [MapNameNode nodeWithMapName:_mapShowName];
    node.positionType = CCPositionTypeNormalized;
    node.position = ccp(-0.2,0.9);
    [self addChild:node];

    CCActionMoveBy *move = [CCActionMoveBy actionWithDuration:0.5 position:ccp(0.35, 0)];
    CCActionMoveBy *move2 = [CCActionMoveBy actionWithDuration:0.5 position:ccp(-0.35, 0)];
    CCActionFadeOut *fadeOut = [CCActionFadeOut actionWithDuration:3];
    CCActionCallBlock *block = [CCActionCallBlock actionWithBlock:^{
        [self removeChild:node];
    }];
    CCActionSequence *seq = [CCActionSequence actions:move,fadeOut,move2,block,nil];
    [node runAction:seq];
}

该方法完成了地图标签的动画显示,我们让其从视图左上角弹出来,停留一段时间,再弹回去,最后将其删除.

最后将其加入到onEnter方法中:

-(void)onEnter{
    [super onEnter];
    [self showMapNameAction];
}

全部完成了,编译运行app,效果如下:

借助SpriteBuilder,我们不用再费心一遍又一遍调试调整节点的外观了,一步到位,简单方便 ;)

SpriteBuilder中使用GUI界面快速搭建RPG游戏中的地图名显示动画的更多相关文章

  1. Cocos2D-ObjC:在RPG游戏中混合Swift代码

    我之前写过一个RPG游戏<<熊猫之魂 SoulOfPanda>> 编译器使用的是SpriteBuilder,很好很强大!全部代码都由Objc完成,现在想尝试一下在其中混入Swi ...

  2. 夺命雷公狗---DEDECMS----5快速入门之商城快速搭建实现快递方式和支付方式的显示

    我们现在用dedecms快速搭建一个商场,方法如下所示: 如此类推.写多几个栏目,效果 如下所示: 然后我们添加几个商品,记得要刷新下页面噢,不见见不到商品 添加成功后去看看效果如何: 出来了,但是如 ...

  3. 利用pandas库中的read_html方法快速抓取网页中常见的表格型数据

    本文转载自:https://www.makcyun.top/web_scraping_withpython2.html 需要学习的地方: (1)read_html的用法 作用:快速获取在html中页面 ...

  4. 在MyEclipse 2013中使用图形界面快速配置Struts2的操作方法

    Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable ...

  5. RPG游戏中如何判断敌人是否在玩家的攻击范围之内

    // 方式1:通过主角和场景中的所有敌人比较 private void AtkCondition1(float _range,float _angle) { // 搜索所有敌人列表(在动态创建敌人时生 ...

  6. 概念:RPG游戏中两个兵种互相攻击的逻辑

    直接上题目: 解析题目: 根据题目的解析,进行代码的实现: 输出结果: 心得: (1) 当我们面对‘公式结果不是我们想要的’时,应该在脑海里将一个完整的攻击流程进行想象,就会对流程有个更清晰的思路 ( ...

  7. egret引擎中使用tiled运行在微信小游戏中

    egret的官方文档,对tiled的介绍不是很细致,很多东西都需要摸索.现在把踩的坑记录下来.作为一个备忘 引用tiledmap的库 在GitHub上下载egret的tiledmap支持库:https ...

  8. 【开源】使用Angular9和TypeScript开发RPG游戏

    RPG系统构造 通过对于斗罗大陆小说的游戏化过程,熟悉Angular的结构以及使用TypeScript的面向对象开发方法. 项目地址 人物 和其他RPG游戏类似,游戏里面的人物角色大致有这样的一些属性 ...

  9. Unity游戏中使用贝塞尔曲线

    孙广东   2015.8.15 比方在3D rpg游戏中.我们想设置弹道,不同的轨迹类型! 目的:这篇文章的主要目的是要给你关于在游戏怎样使用贝塞尔曲线的基本想法. 贝塞尔曲线是最主要的曲线,一般用在 ...

随机推荐

  1. [BZOJ]1005 明明的烦恼(HNOI2008)

    BZOJ的第一页果然还是很多裸题啊,小C陆续划水屯些板子. Description 自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间 ...

  2. bzoj1293[SCOI2009]生日礼物 尺取法

    1293: [SCOI2009]生日礼物 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2838  Solved: 1547[Submit][Stat ...

  3. sql的left join 、right join 、inner join之间的区别

    sql中left join .right join .inner join之间的区别 left join (左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 : right join (右 ...

  4. 10分钟 5步 发布以太坊 ERC20 代币

    1.安装 METAMASK Brings Ethereum to your browser 一个可以浏览器上进行操作的以太坊钱包,推荐 Chrome. Chrome 插件安装地址: https://c ...

  5. jQuery简单笔记

    jQuery 是一个 JavaScript 库,简化了 JavaScript 的编程. 语法:$(selector).action() selector 是字符串,表示HTML元素. 对象 符号 例子 ...

  6. struts2中action的class属性值意义

    整合了spring就不同了,orz struts2单独使用时action由struts2自己负责创建:与spring集成时,action实例由spring负责创建(依赖注入).这导致在两种情况下str ...

  7. Eclipse插件安装4种方法

    第一种:直接复制法 假设Eclipse的安装目录在C:\eclipse,解压下载的eclipse 插件或者安装eclipse 插件到指定目录AA(如:c:\AA)文件夹,打开AA 文件夹,在AA文件夹 ...

  8. 关于一些基础的Java问题的解答(三)

    11. HashMap和ConcurrentHashMap的区别   从JDK1.2起,就有了HashMap,正如上一个问题所提到的,HashMap与HashTable不同,不是线程安全的,因此多线程 ...

  9. Axios 使用文档

    Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 使用实例:http://www.cnblogs.com/coolslider/p/7838309.ht ...

  10. Linux的哲学思想

    1.一切皆文件:2.单一目的的小程序:3.组合小程序完成复杂任务:4.文本文件保存配置信息:5.尽量避免捕获用户接口:6.提供机制,而非策略. 说到底Linux的哲学思想在于方便和更好的管理后台,不同 ...