cocos2d-x3.0 场景跳转scene与坐标系

场景跳转

场景的跳转基本上是在对按钮的绑定事件中实现的

1️⃣ 压栈(push)与出栈(pop

    auto scene = MyScene::creatMyScene(); // 对将要进入场景的声明

    Director::getInstance()->pushScene(scene);


出栈就不需要指明类了,从哪里来到哪里去

Director::getInstance()->popScene();


注意:push pop 成对出现   , 使用进出栈,原场景会保留离开时的数据,会增大CPU的消耗


2️⃣ 使用导演类来控制

auto scene = MyScene::creatMyScene();

Director::getInstance()->replaceScene(scene);

从场景MyScene到场景HelloWorld均是这样操作,主要是replaceScene()函数的使用


注意:区别于进出栈,不做数据是的保留,跳转时原场景数据当即被释放


坐标系

GL坐标系:基于openGL图像渲染所定义的坐标系

以屏幕的左下角为原点,向右为X轴正方向,向上为Y轴的正方向

世界坐标系:物理世界的坐标系,与GL坐标系一致


节点坐标系:相对坐标系

子节点以父节点的锚点位置为原点 ,移动父节点子节点会跟随移动


锚点:一个比例默认为0.5 为节点的中心    即为(0.50.5


若设置忽略锚点的话,则设置位置就会按照节点的左下角进行布局


    // 设置为不忽略锚点

    la->ignoreAnchorPointForPosition(false);

    // 锚点设置位置的点

    la->setAnchorPoint(Vec2(1,1)); // 将从右上角进行布局

你可能感兴趣的:(cocos2d-x,3.0)