透视投影绘制 游戏场景
2015-05-24 00:45
113 查看
public void drawPerspective() { MatrixState.setProjectFrustum(-ratio, ratio, -1, 1, 3, 40000);//设置透视投影 MatrixState.pushMatrix(); //这里进行相关变量的复制,用于不同线程之间的不同步,会发生抖动现象 synchronized(lock) { curr_cx=cx; curr_cy=cy+2; curr_cz=cz; curr_tx=tx; curr_ty=ty; curr_tz=tz; curr_upx=upX; curr_upy=upY; curr_upz=upZ; curr_PlaneX=PLANE_X; curr_PlaneZ=PLANE_Z; curr_PlaneY=PLANE_Y; curr_rot_Plane_X=rotationAngle_Plane_X; curr_rot_Plane_Y=rotationAngle_Plane_Y; curr_rot_Plane_Z=rotationAngle_Plane_Z; Matrix.setRotateM(fa, 0, curr_rot_Plane_Y, 0, 1, 0);//得到旋转矩阵 YB[0]=(float) (Math.sin(Math.toRadians(-curr_rot_Plane_Z))); YB[1]=(float) (Math.cos(Math.toRadians(-curr_rot_Plane_Z))* Math.cos(Math.toRadians(rotationAngle_Plane_X))); YB[2]=(float) (Math.cos(Math.toRadians(-curr_rot_Plane_Z))* Math.sin(Math.toRadians(rotationAngle_Plane_X))); YB[3]=1; Matrix.multiplyMV(resultUp, 0, fa, 0, YB, 0); MatrixState.setCamera(curr_cx,curr_cy,curr_cz,curr_tx,curr_ty,curr_tz, resultUp[0],resultUp[1],resultUp[2]);//设置摄像机的位置 MatrixState.copyMVMatrix(); MatrixState.translate(-20*(float)Math.sin(Math.toRadians(curr_rot_Plane_Z/4)), -20*(float)Math.cos(Math.toRadians(curr_rot_Plane_Z/4)),0); copybaozhaList.clear();//复杂爆炸效果列表 for(DrawBomb db:baoZhaList) { copybaozhaList.add(db); } cop_archie_bomb_List.clear();//复制高射炮子弹 for(BombForControl db:archie_bomb_List) { cop_archie_bomb_List.add(db); } cop_bomb_List.clear();//复制炮弹列表 for(BombForControl db:bomb_List) { cop_bomb_List.add(db); } cop_archie_List.clear(); for(ArchieForControl db:archie_List)//高射炮炮弹复制 { cop_archie_List.add(db); } cop_bullet_List.clear();//子弹复制 for(BulletForControl db:bullet_List) { cop_bullet_List.add(db); } copy_tank_bomb_List.clear();//炮弹复制 for(BombForControl db:tank_bomb_List) { copy_tank_bomb_List.add(db); } } lightAngle+=2; //计算当前九宫格,并调用相应的方法绘制相应的物体 drawAll(); MatrixState.popMatrix(); }
相关文章推荐
- 绘制2D游戏场景
- 创建XNA Shooter游戏——游戏场景绘制
- 是什么能够两小时写出《flppybird》游戏--绘制场景
- MMORPG大型游戏设计与开发(服务器 游戏场景 掉落与网络连接)
- android 如何使用surfaceview绘制类似游戏手柄的摇杆?
- 用cocos2dx来做好玩的游戏 第二天 场景切换
- android游戏开发框架libgdx的使用(三)--中文显示与汉字绘制
- 创建游戏场景
- 守卫者游戏开发教程之cocos2d-iphone2.0第一部分(菜单场景)
- 游戏原画场景构图透视设计教程
- android+unity游戏开发基础之场景的切换 ***
- Android游戏Graphics绘图之绘制字符串
- android游戏引擎andengine学习系列三:绘制游戏虚拟摇杆
- android游戏引擎andengine学习系列四:绘制特效的动画文字
- 【Cocos2D-X 游戏引擎】初窥门径(2) 场景的切换及特效
- Unity3D客户端在游戏场景中创建阻挡并用二进制导出
- LuoYing RPG教程-JME3游戏创建、场景编辑、载入完整示例教程
- XNA 如何使用字体绘制文字,Windows Phone 游戏开发
- Silverlight游戏设计(Game Design):(六)场景编辑器之开源畅想
- 游戏开发之UE4添加角色到场景中