안드로이드 게임 개발 정보
(글 수 223)
package org.Game;
import java.util.ArrayList;
import java.util.Random;
import org.Framework.AppManager;
import org.Framework.Collision;
import org.Framework.CollisionManager;
import org.Framework.GraphicObject;
import org.Framework.IState;
import org.Framework.R;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.view.KeyEvent;
import android.view.MotionEvent;
public class GameState implements IState {
private Player m_player;
private BackGround m_background;
ArrayList<Enemy> m_enemlist = new ArrayList<Enemy>();
long m_LastRegenEnemy = System.currentTimeMillis();
// Random randEnem = new Random(); //책
Random m_randEnem = new Random(); // 코딩
@Override
public void Init() {
m_player = new Player(AppManager.getInstance().getBitmap(
R.drawable.player));
m_background = new BackGround(0);
}
public void MakeEnemy() {
if (System.currentTimeMillis() - m_LastRegenEnemy >= 310){
m_LastRegenEnemy = System.currentTimeMillis();
Enemy enem = new Enemy_3();
enem.SetPosition(m_randEnem.nextInt(368), -60);
m_enemlist.add(enem);
}
else if (System.currentTimeMillis() - m_LastRegenEnemy >= 305){
m_LastRegenEnemy = System.currentTimeMillis();
Enemy enem = new Enemy_2();
enem.SetPosition(m_randEnem.nextInt(423), -60);
m_enemlist.add(enem);
}
else if (System.currentTimeMillis() - m_LastRegenEnemy >= 300){
m_LastRegenEnemy = System.currentTimeMillis();
Enemy enem = new Enemy_1();
enem.SetPosition(m_randEnem.nextInt(423), -60);
m_enemlist.add(enem);
}
}
/*if {(System.currentTimeMillis() - m_LastRegenEnemy >= 500)
m_LastRegenEnemy = System.currentTimeMillis();
int enemtype = m_randEnem.nextInt(3);
Enemy enem = null;
if(enemtype== 0){
enem = new Enemy_1();
}
else if(enemtype ==1){
enem = new Enemy_2();
}
else if(enemtype ==2){
enem = new Enemy_3();
}
enem.SetPosition(m_randEnem.nextInt(280), -10);
//enem.movetype = randEnem.nextInt(3);
m_randEnem.nextInt(3);
m_enemlist.add(enem);
}*/
@Override
public void Render(Canvas canvas) {
m_background.Draw(canvas);
for (Enemy enem : m_enemlist) {
enem.Draw(canvas);
}
m_player.Draw(canvas);
}
@Override
public void Update() {
long GameTime = System.currentTimeMillis();
m_player.Update(GameTime);
m_background.Update(GameTime);
for (Enemy enem : m_enemlist) {
enem.Update(GameTime);
}
MakeEnemy();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
/*
* int x = m_player.GetX(); int y = m_player.GetY();
*
* if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) m_player.SetPosition(x -
* 3, y); if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT)
* m_player.SetPosition(x + 3, y); if (keyCode ==
* KeyEvent.KEYCODE_DPAD_UP) m_player.SetPosition(x, y - 3); if (keyCode
* == KeyEvent.KEYCODE_DPAD_DOWN) m_player.SetPosition(x, y + 3);
*/
return true;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return true;
}
@Override
public void Destroy() {
// TODO Auto-generated method stub
}
}
이부분에서 터치이벤트를 이용하여 물방울을 터뜨리려면 어떻게 해야되죠?
여기서 이러지 마시고 보시던 책을 정독 하시던가 스스로 방법을 찾으세요.
이런거 일일히 답변하고 도와주고 할 만큼 널널한 분들이 얼마나 있을지 모르겠네요.
아니면 저 위에 구인구직에 적당히 가격 제시하시고 지도해주실 분 찾아보시던지요.