cocos2djs制作HTML5,cocos2d-js (html5)使用摄像头

摄像头的使用意义在于从何处看物体,以什么角度看物体,所谓“横看成岭侧成峰”。比如一个坦克在行进中,你可以从上往下垂直俯视,也可以45度侧视,还可以像坐在坦克里平视,而这时候使用摄像头最好不过了。我最近整理一个box2d项目,使用摄像头可以实现物体跨屏移动而不用改变物体的位置。在这个项目,刚体从高处落下,与其碰撞的物体可能不在同一屏中(即距离比较远,一个屏幕显示不下),这时候由于游戏视觉引擎(cocos2d-js)与物理引擎需要同步,而显得困难重重,在不强制改变物体位置(即在切换屏幕时强制重新设定刚体位置)的情况下,最好用摄像头转换。实际上强制改变物体位置也能实现,但是不是很自然。

​当物体掉落到另一屏时,可以通过以下两个函数实现:

​onClickUp:function(touch,event){

this._fixedPos.y +=

20;

var

eyePos

=

this._camera.getEye();this._camera.setEye(this._fixedPos.x,

this._fixedPos.y,eyePos.z);var

centerPos

=

this._camera.getCenter();

this._camera.setCenter(this._fixedPos.x,this._fixedPos.y,centerPos.z

);

},

​onClickDown:function(touch,event)

{

if(this._fixedPos.y

<= 0) {

return;

}

this._fixedPos.y

-=

20;

var

eyePos

=

this._camera.getEye();

this._camera.setEye(this._fixedPos.x,this._fixedPos.y,eyePos.z);

var

centerPos

=

this._camera.getCenter();

this._camera.setCenter(this._fixedPos.x,

this._fixedPos.y,centerPos.z

);

},​

这里this._camera

是cocos里当前场景上的一个layer的摄像机,所有刚体对应的图片都是这个layer的孩子节点。即每次上移,摄像头的y位置上移20像素,下移则下移20像素,到达底部时不再下降。

另外需要注意的一点是有些android机器的浏览器不支持改变摄像头,而苹果机器和pc机基本都支持。​

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值