【问题标题】:getting the position from the png image of LUDO game从 LUDO 游戏的 png 图像中获取位置
【发布时间】:2012-11-14 08:31:33
【问题描述】:

hy 我正在开发 android 游戏,即 LUDO 游戏。 我使用了四种不同的数组来获取 LUDO Board 在 Hit and trail 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板的图片如下

但是当我在模拟器的屏幕上获得坐标和地图时,它会像这样显示..

图中粉色、黄色和绿色的方框是我在Hit and trail方法后得到的坐标。

非常感谢任何有助于解决此问题的软件或链接。

提前致谢

【问题讨论】:

  • 至少对我来说,完全无法理解你的问题......
  • 你需要照顾每个手机屏幕的密度。
  • 矩形的公式。本地图片坐标到手机坐标 其中pVertices[0] = px; pVertices[1] = py; public void transformLocalToScene(final float[] pVertices) { int count = pVertices.length / 2;诠释 i = 0;整数 j = 0; while(--count >= 0) { 最终浮点 x = pVertices[i++];最终浮点 y = pVertices[i++]; pVertices[j++] = x * this.a + y * this.c + this.tx; pVertices[j++] = x * this.b + y * this.d + this.ty; } }
  • 嗨。我在ludo游戏开发中遇到问题。我无法根据骰子滚动移动令牌。如果骰子显示2,那么令牌将向前移动两个位置。你能给我一些想法吗it.谢谢你的回复

标签: android android-layout android-intent android-emulator


【解决方案1】:

我假设您想将pink, yellow and green tiles 移动到white squares 顶部,它们是background image 的一部分。

我不确定您是否可以在运行时获取图像的具体坐标(belonging to white boxes)(Please comment, if it is possible. I would love to learn)

我的替代方案是,当您滚动 dice 时,让用户触摸特定的 white box 并在其上绘制 colored tile

另外,你可以画你自己的板子programmatically或者通过xmlwhite box的颜色改成user tile的颜色

【讨论】:

  • 我不确定是否在运行时设置坐标,但我是静态进行的。我想在白盒子上设置这些彩色瓷砖,但我需要获取盒子的位置,以便我可以相应地设置它们。请提出任何想法,我该如何实现它
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    我假设您想在棋盘图像上设置棋子以显示用户在整个游戏中的进度。

    你这样做的方式可以通过管理纵横比并相应地放置碎片来完成,这非常困难,并且无法预测它是否真的有效。如果您想使用 naive android,请使用 15x15 网格并相应地破坏图像。稍后使用网格位置作为彩色作品的坐标。

    如果您正在寻找更简单的选项,请使用 Unity 等游戏引擎,但它可能会为您的游戏创建更大的 APK 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-20
      • 2017-01-06
      • 1970-01-01
      相关资源
      最近更新 更多