gpt4 book ai didi

Android:创建一个不失真缩放的正方形网格

转载 作者:行者123 更新时间:2023-11-30 04:12:25 24 4
gpt4 key购买 nike

我是 Android 编程的绝对初学者,所以请多多包涵 :)对于我的简单游戏,我在开始时绘制了一个由正方形组成的 20 x 10 网格。在游戏中,我需要在一些正方形的中心绘制一个 Sprite 。(类似于跳棋网格,每个方 block 的中心都有一个筹码)。我希望这款游戏能够在各种屏幕尺寸和密度下运行。我的方法是在游戏开始时获取 Canvas 宽度和高度,计算正方形的边,然后绘制出网格并将其保存为位图,然后在游戏中使用该位图。这样我的网格就可以完美地跨屏幕缩放。

1) 有更好的方法吗?我可以将网格图像用作位图吗?我担心的是,当图像针对不同的屏幕进行缩放时,正方形可能会扭曲成矩形。此外,很难计算每个缩放正方形的中心位置(放置 Sprite )。

2) 我还需要在屏幕上的某个地方显示标题、分数、级别等。是在位图上为其留出空间,然后在位图上写乐谱,还是创建一个布局,其中包含用于网格的 SurfaceView 和另一个我在其中写乐谱、级别等的 View ?

谢谢!

最佳答案

使用 Nine-Patch .png 图像并首先创建一个代表一个正方形的图像或创建一个代表您的 20x10 网格的图像 - 您的选择。执行此操作以使其在 mdpi(中等每英寸点数)屏幕上看起来正确。

然后您需要为您打算支持的其他屏幕密度创建预缩放图像。 ldpi 将是原始大小的 0.75,hdpi 是原始大小的 1.5 倍,xhdpi 是原始大小的 2 倍。

然后将图像放在项目的相关绘图资源目录中 - 例如/res/drawable-mdpi 和/res/drawable-hdpi 等等。

为每种密度的图像赋予完全相同的名称,例如 square.png 或 grid.png。只要这些可绘制目录包含同名图像,Android 就会找到正确密度的图像并使用它。

文档有点长,但你真的需要阅读......

Supporting Multiple Screens

...特别是 Alternative Drawables 的部分。

关于Android:创建一个不失真缩放的正方形网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10640917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com