- 生拉硬扯入篇
游戏引擎有许多如cocos2dx 、unity3d是跨平台的游戏引擎.这些都不说了,写出来呢!!呵呵估计是好开篇吧.ios 下原生的游戏引擎Spritekit 2D . SceneKit 3D,虽然很多其实使用foundation和基础的UIKit框架也是能实现简单的一些游戏.使用便捷的游戏引擎使你的工作效率提高,快餐时代不快不行.那么游戏引擎能带来哪些快捷的东西呢? 1.物理引擎2.各种仿真(弹性 冲量 推力 碰撞检测 渲染包括粒子特效 动画 地图生成等等)所以选择什么不重要,是你要做什么,那么如果只是考虑iOS上你可以尝试下用原生的来做一些游戏,iOS的引擎目前来说比它好一点点的感觉就是不太用去掌握unity rect transform这个复杂的布局概念,也可能姿势不对,老鸟的可以指教下
- 两者区别
从内容上来说两者实质没什么区别 spritekit 是2d ,scenekit 3d就是这么简单,在我们构造我们的游戏世界时最重要的基础就是明白这一点区别就OK了,反应在代码中如何了解呢,2d 二维的坐标系,竖屏左上角右边+x ,下+y ,横屏的左下角上+y,右边+x,没什么难度主要是子节点注意锚点,3d坐标稍显复杂,立体几何都知道高中的知识,在求证几何题时最先的就是建立3维坐标系,这个坐标系教的都是右手坐标系如盗图
因此想放到自己希望放的位置你必须设置一个不变的位置作为相机原点,依次摆放子节点的内容.这个看个人习惯,个人理解就是我们定一个维度z轴每次相机固定0,0,z的方式作为相机不变的要素,那么相对的自己的坐标系就是正面对手机屏幕竖屏左下角的对应关系如图
这样就能确实把我想要放的位置放在想要的位置,那就是固定相机的一个部分那样才能去计算,xyz设定一个固定不变的角度,你才最好计算.如果你的空间想象能力很牛逼,完全可以靠想象就随意设置.当然这种人很少的. 但是你需要明白的是你的节点精灵所有可以看见的东西一定是放在照相机的z轴上的,图一的相机可以查看到,因此z这个东西一定是要有的要想看到他你得保证节点的z值小于相机的z值.理解这个情形你可能需要看看拍电影是如何工作的,相机演员,演员不在相机前面是拍不到他的.