Presentation is loading. Please wait.

Presentation is loading. Please wait.

프로세싱 게임 메이킹 자바실험실 JavaLab.org 이동준.

Similar presentations


Presentation on theme: "프로세싱 게임 메이킹 자바실험실 JavaLab.org 이동준."— Presentation transcript:

1 프로세싱 게임 메이킹 자바실험실 JavaLab.org 이동준

2 OASIS with processing

3 프로세싱 예제 – P5P

4 아두이노의 큰형, 프로세싱!!!

5 오늘 만들어 볼 것은…

6 프로세싱 실행

7 원형 공 그리기 ellipse(50, 50, 20, 20); X방향 50 Y방향 50

8 화면 크기 설정 size(600, 400); ellipse(50, 50, 20, 20); 600 400

9 바닥판 그리기 size(600, 400); ellipse(50, 50, 20, 20); rect(100, 380, 100, 20); 잠깐!!! 함수(변수1, 변수2, …);

10 변수 선언 (공의 위치) int ballX = 50; int ballY = 50; size(600, 400); ellipse(ballX, ballY, 20, 20); rect(100, 380, 100, 20); 잠깐!!! ‘=‘ 는 같다는 뜻이 아니다!

11 기본함수 - setup( ), draw( ) int ballX = 50; int ballY = 50; void setup( ) { size(600, 400); } void draw( ) { ballX++; ellipse(ballX, ballY, 20, 20); rect(100, 380, 100, 20); 잠깐!!! 중괄호 { } 는 하나의 블록으로 묶인다.

12 배경화면 색 설정 255,0,0 0,255,0 255,255,0 0,255,255 255,0,255 0,0,255 255 int ballX = 50; int ballY = 50; void setup(){ size(600, 400); } void draw(){ background(255); ballX++; ellipse(ballX, ballY, 20, 20); rect(100, 380, 100, 20);

13 매 순간의 이동방향 설정 int ballX = 50; int ballY = 50; int moveX = 5; int moveY = 5; void setup( ) { size(600, 400); } void draw( ) { background(255); ballX += moveX; ballY += moveY; ellipse(ballX, ballY, 20, 20); rect(100, 380, 100, 20);

14 벽에서 튕김 … void draw( ) { background(255); ballX += moveX; ballY += moveY; if(moveX < 0 && ballX < 10) moveX = 5; if(moveX > 0 && ballX > 590) moveX = -5; if(moveY < 0 && ballY < 10) moveY = 5; if(moveY > 0 && ballY > 370) moveY = -5; ellipse(ballX, ballY, 20, 20); rect(100, 380, 100, 20); }

15 마우스 클릭으로 게임 시작 int ballX = 50; int ballY = 50; int moveX = 5; int moveY = 5; int score = 0; void setup( ) { size(600, 400); } void draw( ) { background(255); ballX += moveX; ballY += moveY; if (moveX < 0 && ballX < 10) moveX = 5; if (moveX > 0 && ballX > 590) moveX = -5; if (moveY < 0 && ballY < 10) moveY = 5; if (moveY > 0 && ballY > 370) moveY = -5; ellipse(ballX, ballY, 20, 20); rect(100, 380, 100, 20); } void mouseClicked( ) { ballX = round(random(50, 550)); ballY = 50; moveX = 5; moveY = 5; score = 0;

16 마우스 위치에 바닥판 그리기 … void draw( ) { background(255); ballX += moveX; ballY += moveY; if (moveX < 0 && ballX < 10) moveX = 5; if (moveX > 0 && ballX > 590) moveX = -5; if (moveY < 0 && ballY < 10) moveY = 5; if (moveY > 0 && ballY > 370) moveY = -5; ellipse(ballX, ballY, 20, 20); rect(mouseX - 50, 380, 100, 20); }

17 바닥판 반사 후 스코어 기록 if (moveY > 0 && ballY > 370) {
void draw( ) { …(중간생략)… if (moveX < 0 && ballX < 10) moveX = 5; if (moveX > 0 && ballX > 590) moveX = -5; if (moveY < 0 && ballY < 10) moveY = 5; if (moveY > 0 && ballY > 370) { if (ballX > mouseX-50 && ballX < mouseX+50) { score++; moveY = -5; } else { moveX = 0; moveY = 0; } ellipse(ballX, ballY, 20, 20); rect(mouseX - 50, 380, 100, 20);

18 스코어 화면 표시 void draw( ) { …(중간생략)… fill(0); text(score, 20, 20); }
ellipse(ballX, ballY, 20, 20); fill(0, 255, 0); rect(mouseX - 50, 380, 100, 20); fill(0); text(score, 20, 20); }

19 색칠하기 255,0,0 0,255,0 255,255,0 0,255,255 255,0,255 0,0,255 255 void draw( ) { …(중간생략)… fill(255, 0, 0); ellipse(ballX, ballY, 20, 20); fill(0, 255, 0); rect(mouseX - 50, 380, 100, 20); fill(0); text(score, 20, 20); }

20 더 추가 할 것들… 레벨 업 기능 점수에 따른 난이도 조절 화면 장식 (인트로, 외벽, 점수판, 플레이어, 공, 블록..)
화면 장식 (인트로, 외벽, 점수판, 플레이어, 공, 블록..) 네트워크 기능 (다른 사람과의 점수 비교, 멀티 유저 플레이)


Download ppt "프로세싱 게임 메이킹 자바실험실 JavaLab.org 이동준."

Similar presentations


Ads by Google