Camera摄像机旋转无效

  • Creator 版本:2.2.2

  • 目标平台: web

  • 之前哪个版本是正常的 :2.2.0

  • 出现概率:100%

  • 额外线索:

onLoad () {
cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN,this.down,this);

    console.log(">>>>>>"+this.camera.node.angle);

}
private oula:number = 0;
private down(event){
    if(event.keyCode == 37){
        this.oula +=1;
    }
    if(event.keyCode == 39){
        this.oula -=1;
    }
    this.camera.node.x = this.oula;
    this.camera.node.eulerAngles = cc.v3(0, this.oula, 0);
    this.camera.node.angle = this.oula;

    console.log(this.oula);
    
    
}

版本升级后,eulerAngles 和 angle 都无效 只有node生效

先贴官方说明:
alignWithScreen
当 alignWithScreen 为 true 的时候,摄像机会自动将视窗大小调整为整个屏幕的大小。如果想要完全自由地控制摄像机,则需要将 alignWithScreen 设置为 false。(v2.2.1 新增)
orthoSize
摄像机在正交投影模式下的视窗大小。该属性在 alignWithScreen 设置为 false 时生效。

默认选择,那就去掉默认选项,然后设置orthoSize = canvas.height/2(这个值是默认勾选单 时候,cc.view.getDesignResolutionSize()的大小)

此时效果升级带来的camera不旋转的问题已经修复,然而,游戏加载后就黑屏了。。。。黑。。。屏。。


然后看到一个文章(感谢郭郭同学帮忙)说一些相机的参数,但是设计到3D的,因为是2D项目原来就米有考虑3D的参数。文章有写

先检查了一下,相机的类型和参数:
Ortho=true
表示是正交投影相机,对于2D游戏来说,没问题。

Near Plane=1
摄像机的近剪裁面是1?
2D场景的节点应该都是在0吧……是不是这个导致元素都没有被渲染呢?

Ortho Size=10
这个是摄像机在正交投影模式下的视窗大小

遂设置nearPlane=0,搞定。此时
效果和未升级前一样。Thank God,一天都干了什么…

**总结:**所以,升级后设置相机参数
this.camera.orthoSize = cc.Canvas.instance.node.height / 2;
this.camera.nearClip = 0;


好了回家吃饭睡觉!!!

1赞