整体来说是很不错的
但是我觉得还是有地方可以优化
比如将物体加入到列表,用列表处理可以节省掉很多的代码,以及角色,对后期碰撞以及AI实现处理比较友好
克隆可以用画笔的图章来替换(画笔较克隆比较大)
造型的话也能够用画笔实现(有贴图模块实在没有
也可用画笔导入3D模型(写入)这样就可以完美解决这个频闪的问题,因为3D模型较2D模型来说,3D模型处理只对2D-3D投影来处理(最后所有物体总2D-3D的投影)
解析一下:我对3D的理解
可以考虑用克隆和画笔吗,这样角色太多,处理起来会很麻烦
旋转算法基本上用的就是平面向量的旋转算法,以及应用到3D中(找好对应的X和Y的关系即可)
视角缩放和旋转,就是利用向量旋转求解
物体的缩放以及更换(translate)只是将向量的扩大比如(a→,b→) 到 (c→,d→)直接k(a→,b→)
也就是(k*a→,k*b→)再转换为对应坐标即可
然后对于2D-3D的转换,其实就是x=x/z*focallength(其中focallength是焦距)y也是同理y=y/z*focallangth
这就是实现3D的最基本过程,然后对于X和Y的裁剪,找好屏幕与点位置关系就行了,
对于这种算得上是伪-3D,称不上实际意义上的3D(我指的是只用画笔以及贴图实现)
对于声音的远近可以依据物体的X和Z以及Y的距离与到主角(x,y,z)求距*音量
我最近也在做一个3D的程序也可以参考一下:
https://tieba.baidu.com/p/7331337034只有晚上有空,白天可以留言给我谢谢了