首页 > 其他 > 详细

cocos2dx 3.3 操作节点相机

时间:2014-12-11 18:50:53      阅读:961      评论:0      收藏:0      [点我收藏+]

cocos2dx 3.3 操作节点相机:

  CCSize winSize=CCDirector::sharedDirector()->getWinSize();

    Camera* camera=Camera::create();

    camera->setCameraFlag(CameraFlag::USER1);

    this->addChild(camera);

    sprite->setCameraMask(2);    //CameraFlag::USER1就等于2

    Vec3 eyePosOld=camera->getPosition3D();

    Vec3 eyePos=Vec3(0,0,eyePosOld.z);

    camera->setPosition3D(eyePos);

    camera->lookAt(Vec3(eyePos.x,eyePos.y,0), Vec3(0, 1, 0));//如果up参数传Vec3(sqrt(2)/2,sqrt(2)/2,0)可将头歪45度

注意camera->lookAt必须在camera->setPostion3D之后,因为lookAt中有一句

Vec3::subtract(this->getPosition3D(), lookAtPos, &zaxis);//即相减得出相机空间z轴

使用了getPosition3D。所以必须先设定对position3D再调lookAt才能得到正确结果。

参考:

http://www.cocos2d-x.org/news/344

cocos2d_tests - Camera3DTest.cpp

 

 

cocos2dx 3.3 操作节点相机

原文:http://www.cnblogs.com/wantnon/p/4158135.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!