我读过这篇关于创建像Outrun或Lotus这样的老式赛车游戏的文章。
那里的代码基于HTML canvas元素和JavaScript。为了实现3D效果,作者对赛道进行分段,并为每个段投影简单的2D多边形,这些多边形投影到" 3D空间"。绘制这些多边形的代码是:
polygon: function(ctx, x1, y1, x2, y2, x3, y3, x4, y4, color) {
ctx.fillStyle = color;
ctx.beginPath();
ctx.moveTo(x1, y1);
ctx.lineTo(x2, y2);
ctx.lineTo(x3, y3);
ctx.lineTo(x4, y4);
ctx.closePath();
ctx.fill();
}
这些多边形在每一帧中绘制。我想知道同样的概念可能会转化为SpriteKit。因为几乎在SpriteKit中绘制自定义多边形内容的唯一选择是SKShapeNode我想到使用它们。但是,我觉得这个解决方案可能存在一些严重的问题:
我开始想知道是否真的可以在SpriteKit中创建类似的游戏。你对如何去做有什么建议吗?或者我是否需要转换到SceneKit并使用真正的多边形来实现所需的效果?任何帮助或建议都非常感谢。提前谢谢。
答案 0 :(得分:0)
如果你质疑3D游戏更容易做什么,那么你会得到一个简单的答案:当然是一个3D引擎更容易使用然后在二维引擎中伪造3d。
而且如果你的代码遇到麻烦并且你想用SpriteKit伪造3d,你将获得比使用SceneKit更少的帮助。
我希望这会有所帮助