반응형
이제 Corona SDK 를 설치 하셨으면 코딩을 한번 해 볼까요?
코로나 개발 도구는 아무 에디터나 쓰면 됩니다.
윈도우 경우 메모장부터 워드패드, MS-Word 그리고 울트라 에디터, 아크로 에디터 등 아무거나 쓰면 되요.
또한 이클립스나 인텔리제이 아이디어 같은 개발 툴을 사용해도 됩니다.
이 개발 툴 들은 따로 뭔가 환경을 설정해야 되요.
그 환경 설정 방법은 기회되면 한번 다루겠습니다.
매킨토시도 마찬가지구요. 에디터나 워드 또는 XCODE 같은 개발 툴을 사용하시면 됩니다.
일단 기본 규칙은요.
1. 파일 확장자가 .lua 라야 한다.
2. 첫번째 시작하는 파일명은 main 이라야 한다.
=> 고로 첫번째 파일명은 main.lua 라야 합니다.
3. 저장 경로는 아무데나 해도 된다.
일단 여러분 에디터를 여세요. (저는 맥이라서 XCODE에 하겠습니다.)
그리고 파일명을 main.lua 라고 하세요.
이제 코딩을 하죠.
처음으로 터미널 화면에 "Hello World" 를 찍어 보도록 하겠습니다.
이렇게 입력하세요.
저장을 하시구요.
코로나 폴더로 가서 Corona Terminal 을 실행하세요.
아마 윈도우에서는 Corona Simulator를 실행하시고 Debugger를 실행하셔야 할 겁니다.
아래 그림처럼 Open a Project 를 클릭해서 저장해 두신 main.lua를 오픈합니다.
그러면 터미널 화면에 입력하신 글이 찍히실 거예요.
그럼 이번엔 에뮬레이터에 찍히게 할까요?
main.lua에 아래처럼 입력해 보세요.
코로나 개발 도구는 아무 에디터나 쓰면 됩니다.
윈도우 경우 메모장부터 워드패드, MS-Word 그리고 울트라 에디터, 아크로 에디터 등 아무거나 쓰면 되요.
또한 이클립스나 인텔리제이 아이디어 같은 개발 툴을 사용해도 됩니다.
이 개발 툴 들은 따로 뭔가 환경을 설정해야 되요.
그 환경 설정 방법은 기회되면 한번 다루겠습니다.
매킨토시도 마찬가지구요. 에디터나 워드 또는 XCODE 같은 개발 툴을 사용하시면 됩니다.
일단 기본 규칙은요.
1. 파일 확장자가 .lua 라야 한다.
2. 첫번째 시작하는 파일명은 main 이라야 한다.
=> 고로 첫번째 파일명은 main.lua 라야 합니다.
3. 저장 경로는 아무데나 해도 된다.
일단 여러분 에디터를 여세요. (저는 맥이라서 XCODE에 하겠습니다.)
그리고 파일명을 main.lua 라고 하세요.
이제 코딩을 하죠.
처음으로 터미널 화면에 "Hello World" 를 찍어 보도록 하겠습니다.
이렇게 입력하세요.
print( "Hello World" )
코로나 폴더로 가서 Corona Terminal 을 실행하세요.
아마 윈도우에서는 Corona Simulator를 실행하시고 Debugger를 실행하셔야 할 겁니다.
아래 그림처럼 Open a Project 를 클릭해서 저장해 두신 main.lua를 오픈합니다.
그러면 터미널 화면에 입력하신 글이 찍히실 거예요.
그럼 이번엔 에뮬레이터에 찍히게 할까요?
main.lua에 아래처럼 입력해 보세요.
local textObject = display.newText( "Hello World!", 50, 50, nil, 24 ) textObject:setTextColor( 255,255,255 )
main.lua를 저장하시고 에뮬에서 다시 불러와 보세요. (XCODE에서는 저장하면 자동으로 에뮬 화면이 갱신 되더라구요.) 그러면 에뮬레이터 화면에 Hello World가 찍혀 있을 겁니다.
위 그림 오른쪽 아래가 main.lua이고 그 위가 터미널 화면이고 왼쪽이 아이폰 에뮬레이터 예요. 그럼 이번에는 이미지를 불러 올까요? 우선 사용할 이미지를 아래와 같이 main.lua가 있는 폴더에 복사해 넣으세요.
저는 지금 만들고 있는 앱에 쓰이는 endinggreen.png를 사용하겠습니다. 그리고 아래와 같이 코드를 입력하세요.
local button = display.newImage( "button.png" ) button.x = display.contentWidth / 2 button.y = display.contentHeight - 50
저장한 후 에뮬에서 실행해 보시면 아래와 같이나올 거예요.
자 그럼 이미지를 버튼으로 만들고 그 버튼을 누르면 글자 색이 변하도록 할까요? 우선 이미지의 변수가 button 으로 선언 돼 있죠? 여기에다가 리스너를 달아주면 됩니다.
button:addEventListener( "tap", button )
이 의미는 button에 리스너를 달아주는데 tap 이벤트가 일어나면 button 이라는 함수를 실행한다는 의미입니다. 그러면 이제 button 이라는 함수를 만들어야 겠죠? 코로나에서 함수선언은 이렇게 합니다.
function 이름 -- 내용 end
이런 식 입니다.
그러면 tap 이벤트에 반응하는 button 함수를 만들겠습니다.
function button:tap( event )
end
이 함수 안에 원하는 걸 넣으면 됩니다. 우선 랜덤하게 RGB 값을 설정하도록 하죠.
function button:tap( event ) local r = math.random( 0, 255 ) local g = math.random( 0, 255 ) local b = math.random( 0, 255 ) end
이렇게 하시면 됩니다. 이 설정된 RGB 값을 저 위에 선언했던 텍스트에 적용 시키는 것만 넣으면 됩니다. 이 경우에는 setTextColor() 함수를 쓰면 됩니다.
선언했던 텍스트 변수 이름이 textObject 였습니다. 그래서 아래처럼 해야 되겠죠? textObject:setTextColor( r, g, b )
함수 전체를 보면 이렇게 됩니다.
function button:tap( event ) local r = math.random( 0, 255 ) local g = math.random( 0, 255 ) local b = math.random( 0, 255 ) textObject:setTextColor( r, g, b ) end
그러면 main.lua 파일에 아래 코드를 추가해 보세요. function button:tap( event ) local r = math.random( 0, 255 ) local g = math.random( 0, 255 ) local b = math.random( 0, 255 ) textObject:setTextColor( r, g, b ) end button:addEventListener( "tap", button )
저장 후 실행 해 보세요.
이제 이미지를 누르면 글자 색이 변하게 됩니다. 그러면 이제 버튼을 누르면 글자 색이 변하면서 소리가 나도록 할까요? 그러면 button:tap 함수 안에 소리가 나도록 하는 코딩을 하면 될겁니다.
우선 main.lua 가 있는 폴더에 사운드 파일을 복사해 넣으세요. 저는 pop2_wab.wav 파일을 사용하겠습니다.
이제 button:tap(event) 함수 안에 아래와 같이 코딩해 넣으세요. media.playEventSound( "pop2_wav.wav" )
저장 후 실행 해 보세요.
이제 이미지를 클릭하면 글자 색이 바뀌면서 소리도 날 거예요. 오늘 여러분은 첫번째 코로나 앱으로 화면에 텍스트,이미지 뿌리기와 이벤트 리스너 달기 등을 배웠습니다.
정리하면
1. 터미널 화면에 글자 뿌리기. (에러 체크할 때 유용함) 2. 디바이스 화면에 글자 뿌리기. 3. 글자에 색 넣기 4. 글자 위치 조정하기 5. 디바이스 화면에 이미지 뿌리기. 6. 이미지 위치 조정하기 7. display.contentWidth, display.contentHeight 사용하기 8. 이미지에 리스너 달기 9. 리스너 이벤트 발생시 처리하는 함수 만들기 10 랜덤 함수 math.random 사용하기.
11. 사운드 파일 사용하기
대충 이정도를 배웠습니다. 글자나 이미지 위치도 조정해 보시고 coronasdk.com 에 가셔서 오늘 사용한 함수 API 를 살펴보시면 훨씬 도움이 될겁니다.
그럼 다음 시간에 계속 이어가도록 하겠습니다.
반응형
'Corona SDK > Corona Doc' 카테고리의 다른 글
Physics Joints 예제 코드 (0) | 2011.09.29 |
---|---|
Physics Joint (0) | 2011.09.28 |
Physics Bodies 코딩 하기 (5) | 2011.09.28 |
Physics Bodies (0) | 2011.09.27 |
Physics의 Collision Event (0) | 2011.09.27 |
Corona SDK Physics API (1) | 2011.09.22 |
정말 매력있는 코로나의 Physics Engine (2) | 2011.09.21 |
config.lua 파일과 build.lua 파일... (2) | 2011.09.19 |
코로나 프로그래밍 기본 규칙... (0) | 2011.09.15 |
폰트 및 config.lua 파일에 대하여. (10) | 2011.09.14 |