在Swift中使用Perlin噪波编写程序生成的2D地形的早期尝试
当玩家在环境中移动时,我提到的第二个游戏会创建更小的世界“块”。 在继续探索的过程中,创建城市和建筑物,道路和森林,危险废物石棺和未来派废弃的实验室。 实现空间中不同元素的这种“现实”分布的一种方法是应用称为Perlin Noise的函数。 噪声函数可以描述为以下函数: […]在某些空间中获取一个坐标并将其映射为-1和1之间的实数。请注意,您可以为任意维创建噪声函数。 […]您可以绘制一维噪声函数的图形,就像绘制一个变量的任何旧函数一样,也可以考虑噪声函数为3D空间中的每个点返回实数。 如果您想知道,那摘录来自本文,我发现它是许多程序员在此问题上的首选参考文章。 请记住,如果您仅打算将其用于游戏编程实验,则不建议您进一步研究Perlin Noise背后的数学理论。 考虑到这一点,我可以继续进行自己的Swift实验。 它很大程度上是基于简单,逐步但在互联网上发现的效率低下的Perlin Noise伪代码。 我不仅知道第二个Swift例子(紧跟着这个例子)。 但这是我知道的唯一一个Swift例子,它没有渲染到图像中的像素。 实际上,这是一种使用(2D)噪波函数的不同值将元素按网格模式放置在屏幕上的功能。 并使用某些游戏将它们匹配到不同对象的方式,以加载不同的精灵: 首先,我尝试生成一个位图图像,该位图图像带有一个与2D数组中每个浮点数相对应的灰度彩色像素,我使该数组与屏幕大小相同,并以从0到1的灰度将每个像素着色:…