반응형
블로그 이미지
개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들을 접할 기회가 많이 있습니다. 미국의 IT 프로젝트에서 사용되는 툴들에 대해 많은 분들과 정보를 공유하고 싶습니다.
솔웅

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

카테고리

처음으로 코딩 해 보기

2011. 9. 13. 07:16 | Posted by 솔웅


반응형
이제 Corona SDK 를 설치 하셨으면 코딩을 한번 해 볼까요?

코로나 개발 도구는 아무 에디터나 쓰면 됩니다.

윈도우 경우 메모장부터 워드패드, 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

CoronaSDK 인스톨하기 (Mac)

2011. 9. 9. 07:07 | Posted by 솔웅


반응형


CoronaSDK로 애플리케이션 개발하기 위해 SDK를 인스톨 하겠습니다.

지금 작업하는 컴퓨터가 매킨토시라서 맥버전으로 합니다.


1. http://www.anscamobile.com/ 또는 coronasdk.com 으로 간다.

    Download를 누르면 등록하라고 나옴.

    간단히 등록해주고 Continue를 누름




2. 등록과정을 무사히 거치면 아래 화면이 나옴.

    윈도우즈 사용자는 Microsoft Windows를 선택하고 맥 사용자는 Mac OS x 를 선택함

    Download 버튼을 누름



3. 컴퓨터에 저장함.



4. 다운받은 인스톨 파일을 실행함

    MAC의 경우는 CoronaSDK.........dmg 파일을 더블클릭함.

    동의 여부를 물으면 Agree 버튼을 누름



5. 맥의 경우는 위 주황색 폴더를 드래그하여 밑에 파란 폴더에 올려 놓는다.

    윈도우즈는 다른 윈도우즈 인스톨 파일과 동일하게 과정이 진행될 겁니다.



6. 다 인스톨 됐으면 CoronaSDK 폴더를 열어보세요.

    아래와 같은 파일이 있을 겁니다.

    Corona Simulator.app을 선택하면 Simulator만 실행되고

    Corona Terminal 을 선택하면 시뮬레이터와 터미널 모두 실행 됨.

   왠만하면 터미널을 실행 시키세요.



7. 아래와 같이 Welcome to Corona 화면과 터미널 화면이 보임.

     우선 코로나에서 제공하는 샘플 파일부터 봅시다.

      오른쪽에 있는 Bridge 앱을 클릭함.

   (아마 처음 실행하시는 분은 이메일과 패스워드를 물어볼 거예요.

     그러면 코로나 홈페이지에 등록한 이메일과 패스워드를 넣으세요.)



8. 그러면 아래와 같이 Bridge 샘플 파일이 실행 됩니다.

    



9. 다른 샘플 파일을 실행하려면 File-open을 누르고 cancel을 누른다.

   다른 샘플 파일들도 한번 실행해 보세요.




***** 코로나는 하나의 계정당 두개의 컴퓨터에서만 인스톨 됩니다.
           참고하세요.
반응형

CoronaSDK 시작하기

2011. 9. 9. 06:21 | Posted by 솔웅


반응형
제 비자 연장 하느라 한국에 다녀왔습니다.

오랫동안 글이 끊겼네요.
한국 다녀왔더니 허리케인 아이린 영향으로 내 차는 물에 잠기고...
잘 작동되던 노트북이 맛이 가고...

완전 재앙이네요....

아직 자동차며 컴퓨터 모두 해결이 안되서 글 쓰는 시간을 많이 낼 수가 없네요.

일단 Corona SDK 로 안드로이드나 아이폰 앱 개발을 배우시려면 간단히 프로그램을 다운 받아서 여러분 컴퓨터에 다운 받으면 됩니다.

http://www.anscamobile.com/corona/ 로 가신 후 파일을 다운 받으시면 되요.

단 무료버전은 애플리케이션 빌드는 안 됩니다.

저도 Corona로 앱을 개발하다가 보름정도 한국 갔다 오느라고 중단했더니 예전에 공부했던것 다 까먹었어요.

다음 개발 할 때를 위해서라도 정리해 놔야 겠어요.

일단 오늘은 Activity들만 정리하고 나중에 자세한 설명을 첨가해야 겠네요.
제 CoronaSDK 글은 이 정리된 Acivity들을 자세히 설명하는 글들로 채워지게 될 것 같네요.

- 인스톨하기 : 윈도우즈, 매킨토시
- 작업환경 꾸미기 : 윈도우즈 , 매킨토시 - xCode
- 기본적인 문법
- 다양한 화면 전환 효과 사용하기 하기 (director.lua)
- 멀티터치 기능 적용하기 system.activate( "multitouch" )
- 다른 파일(화면) 불러오기
- newGroup() 이용하기
- 리스너 사용해서 특정 이벤트 시 특정 동작 하기
- 배열 사용하기
- 외부 파일 함수 이용하기
- Physics 사용하기
- newAnim() 사용하기
- image, sound 사용하기
- 빌드하고 디바이스(아이폰,아이패드,안드로이드폰, 안드로이드 태블릿 등등)에 인스톨 하기

제가 작업하고 있는 앱 파일들 대충 보니까 이런 기능들을 사용했네요.

대개 제가 해 봤던거나 구현하기 위해서 모든 소스들에 있는 정보 등을 정리 하게 될 것 같습니다.

이렇게 정리해 두면 저도 나중에 다른 앱 개발 할 때 도움이 되고 이 글을 오픈함으로서 다른 개발자들도 도움이 됐으면 좋겠습니다.

그럼......
반응형