안녕하세요!! @wonnieyoon입니다.
프로그래밍 실력을 늘리는데는 재밌는것을 만들어보는것 만큼
좋은것이 없다고 생각합니다.
그래서 간단한 세균 죽이기 게임을 만들어보려고 합니다.
포스팅 1,2에 걸쳐서 완성할텐데 오늘은 전체적인 틀을 만들겠습니다.
코드
<MainActivity.java>
public class MainActivity extends AppCompatActivity {
LinearLayout linearLayout;
MyView m ;
int heigth = 480,width = 800;
ArrayList<Insect> unit;
class MyHandler extends Handler{
@Override
public void handleMessage(Message msg) {
for(int i=0;i<unit.size();i++)
{
//좌표 가속도
unit.get(i).setX(unit.get(i).getX() + unit.get(i).getAx()) ;
unit.get(i).setY(unit.get(i).getY() + unit.get(i).getAy()) ;
//x축 범위 벗어났을때
if(unit.get(i).getX() > width-45 || unit.get(i).getX()<0)
{
unit.get(i).setAx(-unit.get(i).getAx());
}
//y축 범위 벗어났을때
if(unit.get(i).getY() > heigth-300 || unit.get(i).getY() < 0)
{
unit.get(i).setAy(-unit.get(i).getAy());
}
}
m.invalidate();
sendEmptyMessageDelayed(0,20);
}
}
MyHandler handler = new MyHandler();
public class MyView extends View{
Bitmap image;
Random random;
int x=0,y=0;
public MyView(Context context) {
super(context);
unit = new ArrayList<Insect>();
random = new Random();
for(int i=0 ; i < 200 ;i++)
unit.add(new Insect(100,30+random.nextInt(width-100),30+random.nextInt(heigth-330),5,5));
image = BitmapFactory.decodeResource(getResources(),R.drawable.monster);
handler.sendEmptyMessage(0);
}
@Override
protected void onDraw(Canvas canvas) {
for(int i=0;i<unit.size();i++)
canvas.drawBitmap(image,unit.get(i).getX(),unit.get(i).getY(),null);
}
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
width = display.getWidth();
heigth = display.getHeight();
linearLayout = findViewById(R.id.back_linear);
m = new MyView(this);
linearLayout.addView(m);
}
}
결과
보시는것처럼 화면에 세균들이 바글바글합니다.
오늘은 세균들이 화면안에서 자동으로 움직이는것까지 구현하였고 내일은 클릭하면 세균들이 피를 흘리면서 죽는것을 구현해보겠습니다.
기대됩니다 ㅎㅎ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
오늘 하루 가장 추운날이 될꺼같아요!
완전 무장하고 하루를 시작했네요! ㅠㅜ
감기 조심하세요~~
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
감사합니다.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
MVVM패턴 적용 해보시는건 어떻게 생각하시나요 ㅎㅎ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
조언 감사합니다.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
아이고 복잡혀라, 저 명령어 일일이 다 입력하려면 눈아프겄으요, 그래서 개발하시는 분들 보면, 참 대단들 하더라구요.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
그냥 계속사용하다보면 익숙해지더라구요ㅎㅎ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
정말 좋은글 자 보도록 하겠습니다. 다음편도 빨리 나왔으면 좋겠습니다. 원님의 연참을 기대합니다. 연참 ^^;;
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
피를 흘리면서 까지... 죽이셔야 합니까....ㅠㅠ 흑흑 ㅋㅋㅋ (농담입니당ㅎ)
그런데 워니님 혹시 대문을 캡쳐하셔서 사용하고 계신건가요? 제가 업로드한것 보다 흐린것 같아서요. 혹시 원본 원하시면 보내드릴게요!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
아~네네 원본 보내주시면 감사하겠습니다.ㅎㅎ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
여기는....코딩 배우는 블로그 인가요??0-0 전 역사랑 사회부문인데 ㅋㅋ 님은 이런거 가르치시네요 ㅋ 전 코딩 혼자 책보고 독학하려고 하면 어우...어렵던데 ㅜㅅ ㅠ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
저는 역사가 너무 어렵더라구요 ㅎㅎ 각자 맞는 분야가 있는거죠
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit