Cocos2D实现RPG游戏人物地图行走的跟随效果

简介:

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;)


在一些RPG游戏中,人物队列在地图中行走的时候有时需要实现一个跟随效果,比如大家都玩过的FC游戏<<吞食天地>>.

效果为当队列只有一个人时,Ta可以自由在地图中行走,当队列多于一人时,我们让其他角色跟随在游戏主角之后行走,达到一种”萌萌的”拖尾效果.

这里写图片描述

如上图,可以看到游戏队列中有4位角色,但我们设定只显示后2位,当然后面跟着100位也是没问题的,前提是你想把RPG变成贪吃蛇的节奏 ;)

打开GameCharacter.h代码,在接口中增加2个属性:

@property (nonatomic,strong) GameCharacter *followedGC;
@property (nonatomic,assign) CGPoint lastTilePos;

接下来打开GameCharacter.m文件,将popStepAndAnimate方法修改如下:

//按最短路径中每一步用动画的方式移动,使角色沿最短路径最终到达目的地
-(void)popStepAndAnimate{
    //原角色行走代码...
    _lastTilePos = [_mh tilePosForPosition:self.position];
    //原角色动画代码...
    if (_followedGC) {
        _followedGC.lastTilePos = _lastTilePos;
        [_followedGC moveTowardByAStar:[_mh positionForTilePos:_lastTilePos]];
    }
}

代码功能为设置角色当前位置为上一个位置,然后如果有跟随的角色,则调用其自身的移动方法,目的地为上一个位置.因为上一个位置总和队列头部的角色位置相同,所以第一次调用后面的角色是不会移动的,这也是我们想要的效果(否则,所有角色都会重叠在一起且同时移动)

最后我们添加一个跟随方法:

-(void)follow:(GameCharacter*)gc;

其实现如下:

-(void)follow:(GameCharacter *)gc{
    gc.followedGC = self;
    self.position = gc.position;
}

可以看到代码很简单,仅仅是将自身加入被跟随角色,然后设置自身位置和被跟随角色位置一致.

好了,短短几行代码,我们的跟随效果就完成了,蛮有意思的,不是吗? ;)

相关文章
|
4月前
泡泡龙游戏开发实战教程(4):泡泡停靠处理
泡泡龙游戏开发实战教程(4):泡泡停靠处理
31 0
|
4月前
|
流计算
泡泡龙游戏开发实战教程(3):泡泡如何发射,反弹,移动,停靠
泡泡龙游戏开发实战教程(3):泡泡如何发射,反弹,移动,停靠
40 0
|
10月前
|
前端开发 定位技术 Python
使用brython做个迷宫游戏-2:制作地图
使用brython做个迷宫游戏-2:制作地图
100 1
|
10月前
|
图形学
【unity每日一记】--控制游戏人物移动的细节
【unity每日一记】--控制游戏人物移动的细节
151 0
|
11月前
|
Python
通过游戏学Python系列之小兔要上天---手把手教你使用Pygame开发平台跳跃类游戏02之物体运动
通过游戏学Python系列之小兔要上天---手把手教你使用Pygame开发平台跳跃类游戏02之物体运动
92 0
|
iOS开发 MacOS Windows
Unity2D像素游戏开发——Aseprite简单人物绘画+动画制作导出精灵表示例
Unity2D像素游戏开发——Aseprite简单人物绘画+动画制作导出精灵表示例
526 0
Unity2D像素游戏开发——Aseprite简单人物绘画+动画制作导出精灵表示例
|
编解码 前端开发 定位技术
零基础教你Unity制作像素鸟游戏
保姆级教程,刚入门的小白也能看懂的文章。一文教你零基础制作Unity板像素鸟游戏
573 0
零基础教你Unity制作像素鸟游戏
|
图形学
Unity3D 物体运动小游戏后续
上篇链接:https://blog.csdn.net/qq_36171287/article/details/84144912 目录 上篇链接:https://blog.
1366 0
|
图形学 索引
Unity3D 物体运动小游戏
目录 一、在Hierarchy窗口中创建场景,之后塑造一个平面作为地板,将元件命名为background。再创建一个正方体,命名为player。
1146 0
图像滤镜艺术---乐高像素拼图特效
原文:图像滤镜艺术---乐高像素拼图特效 本文介绍乐高像素拼图特效滤镜的实现,这里仅仅介绍PS实现过程,关于程序的实现,大家可以使用ZPhotoEngine来实现,这个引擎可以在www.zealpixel.com上下载,是免费的。
1370 0