Scroll 当角色到达边界时滚动视图

Scroll 当角色到达边界时滚动视图,scroll,cocos2d-x,Scroll,Cocos2d X,我正在做一个类似马里奥的游戏。目前,我的角色可以左右行走,到达边界时不能再往前走。现在,我希望当角色距离边框x个像素时,视图可以滚动。它不应该只是水平滚动,也应该垂直滚动 目前我有一个类扩展了cclayer。此类绘制精灵和块。我已经找到了今后的发展方向,但我还没有找到任何有用的/最新的。 如果有人有一些建议,那就太好了 此外,在上述课程中,我还创建了一个具有重力的box2d世界。如果我必须创建多个层,我是否为每个层创建多个box2d世界?您可以使用CCFolow操作。这将跟随一个节点。例如: C

我正在做一个类似马里奥的游戏。目前,我的角色可以左右行走,到达边界时不能再往前走。现在,我希望当角色距离边框x个像素时,视图可以滚动。它不应该只是水平滚动,也应该垂直滚动

目前我有一个类扩展了cclayer。此类绘制精灵和块。我已经找到了今后的发展方向,但我还没有找到任何有用的/最新的。 如果有人有一些建议,那就太好了


此外,在上述课程中,我还创建了一个具有重力的box2d世界。如果我必须创建多个层,我是否为每个层创建多个box2d世界?

您可以使用CCFolow操作。这将跟随一个节点。例如:

CCSprite * hero = CCSprite::create("hero.png");
CCLayer * gamelLayer = GameLayer::create();
CCFollow *follow = CCFollow(hero, CCRect(0, 0, 4056, 3062));
gameLayer->runAction(follow);

当你改变英雄的位置时,玩家也会移动,但我们总是在屏幕上看到CCRect0、040563062的片段。在这种情况下,您不需要使用Scrolview,而需要使用普通的CCLayer。

您可以在Cocos2dx TestCpp项目中尝试视差示例。此外,您还可以创建两个图层,一个用于背景,另一个用于角色。当角色到达一侧的近端时,可以相应地减少或增加背景层位置的X分量,以确定角色的方向。