下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

教你在Cocos2D中如何实现RPG游戏人物行走的跟随效果

作者:课课家教育     来源: http://www.kokojia.com点击数:2050发布时间: 2016-06-07 09:08:35

标签: Cocos2D网游游戏开发Cocos2D技巧

  我们在玩手机或电脑的RPG游戏时,经常会看到这样的一幅画面——游戏主角走在地图上,辅助角色跟随着主角行走,想知道这是怎样实现的么?本篇教程将教你在Cocos2D中如何实现RPG游戏人物行走的跟随效果。

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

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

教你在Cocos2D中如何实现RPG游戏人物行走的跟随效果_Cocos2D网游_游戏开发_Cocos2D技巧_课课家

  如上图,可以看到游戏队列中有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;
}

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

  好了,本篇游戏开发教程到这里就结束了,短短几行代码,我们的跟随效果就完成了,蛮有意思的,不是吗?希望对大家有所帮助。

赞(1)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程