2012-03-07 3 views
0

Я делаю игру для Android, которая должна отображать несколько разных изображений. Мне нужно сделать метод, который продолжает генерировать изображения из ресурса в выпадающем каталоге, а затем отбрасывать изображения с верхней части экрана на дно. Мне также нужно, чтобы каждое изображение должно иметь идентификатор «image-1» «image-2», в котором индексный номер увеличивается, как только все изображения создаются как целое. Мне также нужно, чтобы они были сгенерированы в разных местах в верхней части экрана и сбрасывались с заданной скоростью. После того, как они попали на дно, я хочу метод, который будет выполнен, как:Создание изображений в андроиде

public void touchedGround() { 
//My code 
} 

Я использую этот код до сих пор:

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.Toast; 

public class GameScreenActivity extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.gamescreen); 
    generateParachuters(savedInstanceState); 
} 

private void generateParachuters(Bundle icicle) { 
    // TODO Auto-generated method stub 
    Toast.makeText(getApplicationContext(), "generating images", 10).show(); 
} 
} 

ответ

0

Я знаю, что один из способов сделать это, но это требует много больше кода, то, что вы, вероятно, ищете. Но эй, вот и все.

  1. Создать класс для падающего объекта, который я предполагаю, что это Parachuter. Этот класс будет иметь переменную X и Y, чтобы отслеживать, где она находится на экране. Затем вы можете использовать метод tick, который будет увеличивать переменную Y тем быстрее, если вы захотите ее упасть. Вы также можете заставить их отслеживать целочисленный идентификатор, если хотите.

  2. Создайте список, который будет содержать объекты Parachuter. Я использую ArrayList. Таким образом вы создаете Parachuter при необходимости и добавляете его в список. Пролистайте список, чтобы рисовать каждый.

  3. Вам нужно что-то нарисовать Parachuter с. Лично я использую Canvas от SurfaceView.

  4. Вам понадобится анимация цикла. Прокручивайте, каждый раз рисуя Parachuter s и вызывая tick на каждом из них.

  5. Во время цикла вы можете проверить положение каждого Parachuter. Если его позиция выходит за пределы Canvas.getHeight(), удалите изображение из списка.

Ну, это совсем немного. Спросите меня, нужны ли вам дополнительные разъяснения.

ОБНОВЛЕНИЕ: Here's a fully-working example.

UPDATE 2:

//Check right edge of screen 
for (int i = 0; i < parachuters.size(); i++) 
{ 
    if (parachuters.get(i).getX() > canvas.getWidth()) 
     //Do whatever it is you want 
} 
+0

Не могли бы вы объяснить, шаг 3 еще ??? – user1183066

+0

Пример кода и проектов можно найти по адресу http://www.droidnova.com/playing-with-graphics-in-android-part-ii,160.html и http://developer.android.com/resources/samples /LunarLander/index.html –

+0

Я попытался использовать пример кода и проектов, но не повезло. Я ничего не понял. Не могли бы вы выслать мне код того, как вы это сделаете ??? Я создал собственный класс, в котором я называю «Parachuter.java». И это мой пользовательский «ImageView». – user1183066

Смежные вопросы