图像

构建 Galaxy

我的计划是按照流程生成一个星系模型,以便将恒星数据置于背景中,并希望能以令人惊叹的方式展示我们在银河系中的位置。

Galaxy 的早期原型。
Milky Way 粒子系统的早期原型。

为了生成银河系,我生成了 10 万个粒子,并通过模拟银河系旋臂的形成方式将它们放置在螺旋形中。我并不太担心螺旋臂形成的具体细节,因为这将是一个代表性模型,而不是数学模型。不过,我确实尝试让螺旋臂的数量大致正确,并朝着“正确的方向”旋转。

在银河系模型的后续版本中,我不再强调使用粒子,而是将星系的平面图片与粒子搭配使用,希望能让它看起来更像照片。实际图片是螺旋星系 NGC 1232,距离我们约 7, 000 万光年,经过图片处理后看起来像银河系。

确定银河的规模。
每个 GL 单位都是 1 光年。在本例中,球体宽 11 万光年,包含粒子系统。
翻转
当页面翻转或被拖动时,页面折叠处会显示如下所示。

查找您的镜架

在跟踪工具中找到游戏的正确行后,下一步是找到主循环。主循环在轨迹数据中看起来像重复的模式。您可以使用 W、A、S、D 键浏览轨迹数据:A 和 D 键用于向左或向右移动(在时间上前后移动),W 和 S 键用于放大和缩小数据。如果游戏的运行频率为 60Hz,您希望主循环是一个每 16 毫秒重复一次的模式。

看起来像三个执行帧
看起来像三个执行帧

找到游戏的心跳后,您可以深入了解代码在每一帧中具体执行了哪些操作。使用 W、A、S、D 键放大,直到您能看清函数框中的文本。

深入了解执行帧
深入了解执行帧

使用转换在视图之间移动

在两个视图之间翻译。

为简单起见,假设有两个视图:列表视图和详情视图。当用户点按列表视图中的列表项时,详情视图会滑入,列表视图会滑出。

视图层次结构。

如需实现此效果,您需要为这两个 View 提供一个设置了 overflow: hidden 的容器。这样,两个视图就可以并排显示在容器内,而不会显示任何水平滚动条,并且每个视图都可以根据需要在容器内左右滑动。