Cocos2d-x 游戏实例教程《跑跑跑》4:添加屏幕点击事件,让主角上下移动

2015年03月22日 08:56 0 点赞 0 评论 更新于 2025-11-21 18:03

在前边三节课程中,我们的游戏已经拥有了地图和主角,并且主角不会再跑出地图范围。不过,目前的游戏还不够完善,我们需要让游戏主角拥有更大的移动范围。

创建三方控制器

我们将创建一个“三方控制器”(ThreeDirectionController)来取代之前使用的 SimpleMoveController。

ThreeDirectionController.h 文件

该文件的内容基本上和 SimpleMoveController 类相似。不同之处在于,它区分了 X 和 Y 方向上的速度,并且加入了触屏事件处理功能(继承自 CCLayer)。因此,在 Controller.h 中,需要把继承类从 CCNode 改为 CCLayer。

ThreeDirectionController.cpp 文件

这里需要编写具体的实现代码,由于原始内容未给出,在实际开发中,需要在该文件中实现 ThreeDirectionController 类的具体逻辑,包括处理触屏事件以及控制主角在 X 和 Y 方向上的移动。

替换控制器

最后,打开 TollgateScene.cpp 文件中的 addPlayer 函数,将其中的 SimpleMoveController 替换为 ThreeDirectionController,示例代码如下(这里假设原始代码结构,实际可能不同):

// 原代码可能是这样使用 SimpleMoveController
// auto simpleController = SimpleMoveController::create();
// player->setController(simpleController);

// 替换为 ThreeDirectionController
auto threeDirectionController = ThreeDirectionController::create();
player->setController(threeDirectionController);

测试效果

完成上述修改后,运行项目。当你单击屏幕时,就可以看到游戏主角上下移动了。通过这种方式,我们成功为游戏添加了屏幕点击事件,让主角的移动范围得到了扩展。

作者信息

boke

boke

共发布了 3994 篇文章