Я разрабатываю игру, такую как поиск слов. Я использовал AndEngine для этого и для displayig сетки слов, которые я использовал TiledMap. В этой игре нам нужно присоединиться к буквам, чтобы сделать слово, пока мы перетаскиваем его пальцы, он будет рисовать линию на плитки и устанавливать связь между буквами. Я умею рисовать линии вертикально и горизонтально точно, но по мере того, как я пытаюсь провести линию по диагонали, она идет к соседней плитке и тянет линию от последней тротуарной плитки до соседней плитки. Но когда я тщательно перемещаюсь к диагональным плиткам, он точно рисует линию.Word Search Game Issue
Может ли кто-нибудь помочь мне решить эту проблему?
e.g.
----------------
|1 2 3 4 |
|5 6 7 8 |
|9 10 11 12 |
|13 14 15 16 |
----------------
как показано выше, например,
Я могу нарисовать линию для "1234" & "159"
. Это означает, что все горизонтальные и вертикальные положения работают точно. Но для "963"
его не так точно, как я рисую для горизонтальной и вертикальной.
case TouchEvent.ACTION_MOVE:
xMove = pSceneTouchEvent.getX();
yMove = pSceneTouchEvent.getY();
TMXLayer tmxLayer1 = mTMXTiledMap.getTMXLayers().get(0);
TMXTile tmxTile1 = tmxLayer1.getTMXTileAt(xMove, yMove);
tmxTile1.setTextureRegion(mPlayerTextureRegion);
if (tmxTile1.getTileRow() == 1 && tmxTile1.getTileColumn() == 1) {
//letter M
xMove = pSceneTouchEvent.getX();
yMove = pSceneTouchEvent.getY();
//yMove = pSceneTouchEvent.getX();
if (xMove >= (TILESQUARE * 1)+20 && yMove >= (TILESQUARE * 1)+20) {//added
yMove = (TILESQUARE * 1) + 30;//gets x-cordinate of center
xMove = (TILESQUARE * 1) + 30;//gets y-cordinate of center
Log.i("On Action Move X11", ""+xMove);
Log.i("On Action Move Y11", ""+yMove);
//tmxTile1.setTextureRegion(mPlayerTextureRegion);
if (!addedAmazeM) {
addedAmazeM = true;
System.out.println("You are in (1,1) tile");
wordArray.add("M");
HashMap<Float, Float> moveXY = new HashMap<Float, Float>();
moveXY.put(xMove, yMove);
//linePath.add(moveXY);
Point tile11Pt = new Point();
tile11Pt.x = (int) xMove;
tile11Pt.y = (int) yMove;
linePoints.add(tile11Pt);
}
}
}
я проверил это, но получить такую же проблему .. – Saurabh