android 从LUDO游戏的png图像中获取位置

2o7dmzc5  于 2023-01-07  发布在  Android
关注(0)|答案(3)|浏览(147)

Hy我正在Android中开发一款游戏,我使用了四个不同的数组来获取LUDO板在命中和跟踪MWthod上的位置。
四个不同的数组如下。

int[] t_LM = { 60, -44, 17, -46, 155, -44, 17, -46, -201, -44, 17, -46,
        155, -44, 17, -46 };
int[] t_TM = { 42, 63, 63, 85, 42, 63, 63, 85, 233, 254, 254, 275, 233,
        254, 254, 275 };
int[] t_o_LM = { 38, -57, -57, -57, -57, -57, 3, -27, -27, -27, -27, -27,
        3, -27, -27, -27, -27, -27, 3, 3, 3, 3, 3, 3, -27, -57, -207, 3, 3,
        3, 3, 3, -57, -27, -27, -27, -27, -27, -57, -27, -27, -27, -27,
        -27, -57, -57, -57, -57, -57, -57, -27, 3 };
int[] t_o_TM = { 200, 275, 275, 275, 275, 275, 305, 337, 369, 401, 432,
        464, 464, 464, 432, 401, 369, 337, 305, 275, 275, 275, 275, 275,
        275, 242, 209, 209, 209, 209, 209, 209, 177, 146, 115, 83, 51, 20,
        20, 20, 51, 83, 115, 146, 177, 209, 209, 209, 209, 209, 209, 242 };

LUDO板的图片如下

但是当我在模拟器的屏幕上得到坐标和Map时,它会显示如下。

图中粉红、黄、绿三色的方框是我用击中追踪法得到的坐标。
任何软件或链接,帮助解决这个问题是高度赞赏。
先谢了

v8wbuo2f

v8wbuo2f1#

我假设您希望将pink, yellow and green tiles移动到white squares的顶部,white squaresbackground image的一部分。
我不确定您是否可以在运行时获得图像的具体坐标(belonging to white boxes)(Please comment, if it is possible. I would love to learn)
我的替代方案是,当您滚动dice时,让用户触摸特定的white box并在其上绘制colored tile
另外,您可以绘制自己的电路板programmatically或通过xml,并将white box的颜色更改为user tile的颜色

9udxz4iz

9udxz4iz2#

你可以使用纵横比来解决这个问题。用手测量原始图像的尺寸,从原始图像测量一些碎片的初始位置,在运行时获得图像的尺寸,计算原始图像和屏幕图像的纵横比,并在运行时使用该比例放置碎片。

4uqofj5v

4uqofj5v3#

我假设您希望在ludo棋盘图像上设置棋子,以显示用户在整个游戏中的进度。
你可以通过控制长宽比并相应地放置图片来实现这一点,这是相当坚韧的,而且无法预测它是否真的会工作。如果你想使用幼稚的android,使用15x15网格并相应地分解图像。稍后使用网格位置作为彩色图片的坐标。
如果您正在寻找更简单的选项,请使用Unity等游戏引擎,但它可能会为您的游戏创建更大的APK文件。

相关问题