У меня проблема с рисованием изображения на экране андроида.Прямо сейчас я пытаюсь сделать порт "Zombie Archer" для Android, и я не уверен, как сделать рисование черепахи и всех зомби на экране.Любые опытные программисты андроид игр, которые хотят мне помочь?Я чувствую, что это должно быть проще, чем добавить относительное расположение и добавить ImageView в это относительное расположение ... просто чтобы отобразить заголовок.Мой код даже не рисует голову.Все, что я вижу, это фон, определенный в файле XML.
РЕДАКТИРОВАТЬ: у меня есть новый метод для этого, используя Canvas после просмотра исходного кода LunarLander.Что я делаю не так сейчас?
ГЛАВНЫЙ КЛАСС:
package com.wickeyware.zombiearcher;
import android.app.Activity;
import android.graphics.Canvas;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
public class GameActivity extends Activity
{
private Turtle turtle;
private Canvas canvas = new Canvas();
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
final Window win = getWindow();
requestWindowFeature(Window.FEATURE_NO_TITLE);
win.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.game);
turtle = new Turtle(this);
}
@Override
public void onResume()
{
turtle.Draw(canvas);
}
}
КЛАСС ЧЕРЕПАШЕЙ:
package com.wickeyware.zombiearcher;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
public class Turtle
{
// Surface Holder?
//private SurfaceHolder sh;
// Background image
//private Bitmap bmp;
// All the parts of the turtle
private Drawable head;
private Drawable body;
private Drawable rleg;
private Drawable lleg;
private Drawable rarm;
private Drawable larm;
private Drawable eye;
private Drawable mouth;
private Drawable bow;
private Drawable tstring;
private Drawable bstring;
// Fill the array
private Drawable[] turtle = {head, body, rleg, lleg, rarm, larm, eye, mouth, bow, tstring, bstring};
// X,Y coords of turtle
//private int tX = 0;
//private int tY = 0;
// Constructor
public Turtle(Context context)
{
//bmp = BitmapFactory.decodeResource(context.getResources(), R.drawable.default_board);
// Load up turtle parts with drawables
turtle[0] = context.getResources().getDrawable(R.drawable.head);
turtle[1] = context.getResources().getDrawable(R.drawable.body);
turtle[2] = context.getResources().getDrawable(R.drawable.leg);
turtle[3] = context.getResources().getDrawable(R.drawable.leg);
turtle[4] = context.getResources().getDrawable(R.drawable.arm);
turtle[5] = context.getResources().getDrawable(R.drawable.forearm);
turtle[6] = context.getResources().getDrawable(R.drawable.eye);
turtle[7] = context.getResources().getDrawable(R.drawable.mouth);
turtle[8] = context.getResources().getDrawable(R.drawable.bow);
turtle[9] = context.getResources().getDrawable(R.drawable.halfbowstring);
turtle[10] = context.getResources().getDrawable(R.drawable.halfbowstring);
}
public void Draw(Canvas canvas)
{
for(Drawable part : turtle)
{
part.setBounds(0,0,0,0);
part.draw(canvas);
}
}
}