2012-01-22 5 views
0

私はjavaでこれをやっていますが、答えはJava固有ではありません。ここで1点からXとYを得るには?

が私のコードです:

String map = "             x " + 
       "  x o       xxxx xxxx xxxx " + 
       "  x      xxxx      " + 
       "  xxxx    xxxx       " + 
       "   xx  xxxxxx         " + 
       "   xx           " + 
       "    xx           " + 
       "    xx         x " + 
       "     xx        x " + 
       "     xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx "; 

    for(int i = 0; i < map.length(); i++) { 
     if(map.charAt(i) == 'x') { 
      platform[i] = CCSprite.sprite("platform_2.gif"); 
      platform[i].setPosition(x, y); //How to get x and y? 
      addChild(platform[i]); 
      platformCount++; 
     } 
    } 

あなたが見ることができるように、マップの文字列内のすべての「x」のために、私は新しいプラットフォームを作成したいです。さて、文字列の各行は57文字で、Xの位置はXとYの値を取得する必要がありますが、for文の中の変数 "i"はcharAtです。これを行うための論理的な方法は何ですか?

答えて

2
int x = i % width; 
int y = i/width; 

&hellip; %moduloあり、/integer divisionあります。

+0

いくつかのverbageを追加する - '%'はモジュロで、 '/'は除算を切り捨てる必要があります。 –

+0

何らかの理由で@icktoofayが動作しません。すべてのプラットフォームが左上隅で混乱してくる – Qasim

+0

@Matt:答えに追加しました - ありがとう。 – icktoofay