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

Slides:



Advertisements
Similar presentations
2D 게임 프로그래밍 프로젝트 학과 : 게임 공학과 학번 : 이름 : 최우진.
Advertisements

2D 게임 프로그래밍 1 차 프로젝트 배태민. 목 차목 차 ◎ 게임컨셉 ◎ 게임플레이 ◎ 개발범위 ◎ 개발일정.
1/ 편집 기능 사용하기 – 실습 1 글자 모양을 바꾸고 싶은 곳을 블록 설정 [ 글자 모양 ] 대화 상자에서 [ 글꼴 ] ‘ 궁서체 ’, [ 글자 색 ] ‘ 토마토색 ’ 으로 선택 → [ 설정 ] 클릭 → 글자 모양 변경.
을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
 사회  4 학년 1 학기  1. 우리 시ㆍ도 모습 > (1) 지도에 나타난 우리 시. 도의 모습 (2/17) 지도를 알아보자 (1)
Window media player 1. 윈도우 미디어 플레이어가 많이 끊길 때 윈도우 미디어 플레이어실행 > 도구 > 옵션 > 성능 > 연결 속도 > 연결 속도 선택 Lan(10Mbps) 선택 > 네트워크 버퍼링 버퍼 10 초 네트워크창 > 스트리밍 프로토콜 > UDP.
Timer Department of Digital Contents Sang Il Park.
녹는점과 끓는점 화학과 이 언정 손 나영 《수업 계획서》
게임엔진 Term Project 학번 : 이름 : 오민형 2D 게임 프로그래밍 Project.
Department of Digital Contents Sang Il Park
아동이 살기 좋은 횡성군 만들기 추진위원회 2차 모임
1차 발표: Control Artist 학번: 이름: 서민성.
& 국민연금법 국민건강보험법 사회복지법제 행정학부 김인철 사회복지학과 김건우
시대의 향기를 담은 고수필 고전문학원전강독 신태웅 김수연 이진솔.
어서와 Java는 처음이지! 제20장 실전프로젝트 #2.
자바실험실 이동준 우리 곁으로 다가온 사물 컴퓨팅 자바실험실 이동준.
2d 게임 프로그래밍 기말 프로젝트 1차 발표 김대현.
아날로그 입력과 출력.
레고 Digital Designer 사용법 알아보기
네트워크 스캔하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
모 바 일 게 임 제 작 한국IT전문학교 박재성.
제 14장 Multicast & Broadcast
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
마우스(Mouse) 다루기 컴퓨터응용 및 실습 I.
1. C++ 시작하기.
아두이노 프로그래밍 2일차 – Part4 아날로그 키패드 활용하기 강사: 김영준 목원대학교 겸임교수.
1차 발표: 프로젝트 발표 가이드라인 학번: 이름: 강병욱.
Project Proposal 그래픽스 및 웹 응용설계 2010년 6월 4일 백선재.
스크래치 언어 이해 스크래치 이용법 습득 고양이가 말을 하며 움직이는 예제 작성
Eclipse 를 이용한 네트워킹 퍼즐 게임 “Scrambled Net” 담당 교수님 전진우 교수님 최은아.
2d 게임 프로그래밍 galaga 유진명.
자바와 아두이노를 넘어서 프로세싱으로... 자바실험실(JavaLab.org) 이동준
Processing.org 자바실험실 JavaLab.org 이동준.
CSS2(Cascading Style Sheets)
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
2차시: 달의 공전 지구과학
2D게임 프로그래밍 1차 발표 자료 정재훈.
2016년 2학기 PULSE 4 Experiment 12 – 블루투스 통신.
볼링게임 시스템 3조 오지연, 손수경.
10차시: 크리스털 LCD 명령어 기초 준비물 SPL-Duino 보드 개요: 크리스털 LCD의 기초 명령어를 익혀 봅니다.
2D Game Programming Project 1
아두이노 매트릭스 코딩 매트릭스 기본 명령어 실습 01차시 ㈜헬로앱스 김영준.
02강 아두이노 LED 기본 개념 LED Example1 LED Example2 LED Example3
클라우드 서버로 사용자 데이터 전송하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
클라우드 서버로 부터 값 읽어오기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
Lab 8 Guide: 멀티스레딩 예제 2 * Critical Section을 이용한 멀티스레딩 동기화 (교재 15장, 쪽)
2D 게임 프로그래밍 BUBBLE BOBBLE 제민경.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
센서값 전송하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
웹서버 기능으로 데이터 읽기 및 제어하기 WiFi 시리얼 보드 활용가이드 김영준
2D 게임프로그래밍 프로젝트 스틱 파이터 Stick Fighter 박하은.
제이킴의 스마트 워커 Jaykim361.tistory.com Welcome the audience
DNS 변군 따라하기 시작]-[설정]-[제어판]-[프로그램 추가/삭제]-[Windows 추가/제거] 클릭.
P.S.S 3G 60% 비시바시 프로젝트 10월 21일 (월요일) 밀어서 잠금해제.
재활용의 실태와 재활용품 만들기의 계획 실과 6학년 8 . 환경을 살리는 나의 생활> 2) 재활용품 만들기(5~6/8)
영상처리 실습 (OpenCV + MFC) Chonbuk National University A.I. Lab.
아동안전관리 홍성훈 교수님 아동보육학과 박윤희
제 10장 가족치료모델 발 표 : 여금란.
TEAM CONTENTS WHATWHY HOW DIFFRENECES TECHNOLOGY.
엔트리-아두이노 블록 코딩 평원중학교 이동준 자바실험실 JavaLab.org.
성전기공식(안) 식 순 1. 기공미사 2. 기 공 식 3. 축 하 연 천주교 수원교구 퇴촌성당.
2D 게임프로그래밍 프로젝트 - Air Clear 심석용.
파워포인트 10/10/15 유 태승.
Tone 명령어 이해하기 목차 재료준비 및 브레드 보드 배선 구성하기 Tone 명령어 기본 및 프로그램 이해 응용 작품 만들기.
과제물 3호 3번 문제 설명자료.
트위치 트게더 Twitogether 김준희.
워드프로세서 실기 10일차 강 사 : 박영민.
3. 윈도우 미디어 플레이어 6.4 옵션(환경) 설정 변경
Power Point 예제 디자인 적용 (서식) - (디자인적용) - (원하는 디자인 선택)
BoardGame 보드게임 따라가기.
Presentation transcript:

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

OASIS with processing

프로세싱 예제 – P5P

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

오늘 만들어 볼 것은…

프로세싱 실행

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

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

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

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

기본함수 - 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); 잠깐!!! 중괄호 { } 는 하나의 블록으로 묶인다.

배경화면 색 설정 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);

매 순간의 이동방향 설정 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);

벽에서 튕김 … 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); }

마우스 클릭으로 게임 시작 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;

마우스 위치에 바닥판 그리기 … 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); }

바닥판 반사 후 스코어 기록 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);

스코어 화면 표시 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); }

색칠하기 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); }

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