태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

Corona SDK2013.09.13 13:14



Corona SDK Hotshot [eBook]을 받았다.

코로나를 공부하면서 다음 단계로 어떻게 나가야 하는지 몰라서 헤맬때가 있다.

그럴때는 프로젝트를 몇 개 진행해 보는게 좋다.


http://www.packtpub.com/corona-software-development-kit-hotshot/book

저작자 표시
신고
Posted by 원강민
Corona SDK2013.06.03 14:37

기사 원문 ::

http://www.newshankuk.com/news/content.asp?fs=2&ss=27&news_idx=201305291029572698



코로나라고 하면 노란색의 멕시코산 맥주가 떠오르는 사람이 많을 것이다. 또는 요즘 사우디아라비아와 프랑스 등지에서 맹위를 떨치고 있는 신종 바이러스쯤으로 생각하는 이도 있을 것이다. 하지만 여기서 말하고자 하는 코로나는 마시는 맥주나 호흡기질환을 유발하는 신종 바이러스가 아니라 모바일 크로스플랫폼 어플리케이션(앱 또는 어플) 개발 소프트웨어 개발 키트(software development kit, SDK)다.

‘Corona SDK’(이하 코로나)는 아이오에스(iOS)와 안드로이드(Android)는 물론 눅(NOOK)과 킨들(Kindle)을 동시에 공략할 수 있으면서도 성능 저하가 없어 매우 효율적이다라는 평가를 받고 있다고 한다. 이런 장점을 지니고 있음에도 코로나는 아직 국내에선 생소하다. 이런 가운데 코로나의 매력에 빠져 ‘코로나 전도사’를 자처하고 있는 이가 있다. ‘코로나 앰버서더’ 대한민국 1호인 원강민 씨다. 원 씨는 게임 개발 및 코로나 온·오프라인 교육을 진행하는 아폴로케이션의 대표다. 원 대표를 만나 코로나에 대한 매력과 장점, 그리고 그의 비전에 대해 들어봤다.


Q. '코로나'란 무엇인가?
_ 몇 년 전 미국의 14세 소년이 만든 ‘버블 볼(Bubble Ball)’이 앱스토어 1위를 차지하면서 급속도로 알려지기 시작한 코로나는 모바일 앱 제작용 플랫폼이며 크로스 플랫폼을 지원합니다. 즉, 한번 코딩으로 iOS / Android / NOOK / Kindle용 앱을 만들 수 있습니다. 코로나는 초등학생도 사용할 수 있을 만큼 배우기 쉬우면서도 강력한 기능을 갖추고 있습니다.
사용하는 언어는 루아(Lua) 스크립트입니다. 루아는 자바스크립트처럼 간단하고 유연한 언어지만 스크립트 중 가장 빨라서 게임에 많이 이용되고 있습니다. C/C++ 등과 함께 사용할 수 있는 장점도 있습니다.

Q. 코로나에 관심 갖게 된 계기는?
_ 저는 액션스크립트(ActionScript-Adobe Flash, AIR) 프로그래머입니다. 그래서 거의 모든 모바일 앱을 에어(AIR)로 개발하고 있었죠. 그런데 에어는 아직까지 부족한 부분이 있습니다. 그 중 가장 아쉬운 점이 퍼포먼스와 메모리 관리 부분인데요. 앱이 자주 다운됩니다. 한마디로 꺼진다는 거죠. 그 문제로 고민하던 중 코로나를 접하게 되었는데 정말 놀라웠습니다. 빠른데다가 안정적이었죠. 게다가 스크립트가 제가 기존에 쓰던 액션스크립트와 아주 유사했습니다. 그러다 보니 필연적으로(?) 코로나에 관심을 갖게 되었습니다.

Q. 코로나의 장점은 무엇인가?
_ 위 질문에서 언급한 것처럼 빠르고 안정적이라는 것과 함께 다음과 같은 장점이 있습니다. 먼저 한번 코딩으로 iOS / Android / NOOK / Kindle까지 퍼블리시가 가능합니다. 코로나의 사용 언어인 루아는 자바스크립트만큼 배우기 쉽고 스크립트 중 가장 빨라서 게임에 많이 쓰입니다. 최근에 주부, 40대 사장님, 중학생, 초등학생까지 교육을 진행한 적이 있었는데 다들 재밌어 했고 생각보다 어렵지 않다는 반응이었습니다. 한 분은 하루 종일 코로나만 하고 싶다고 하신 분도 있습니다.(웃음)

거기다 아무런 제약 없이 무료로 앱을 만들 수 있으며, 앱스토어에 올려서 판매도 할 수 있습니다. 게임뿐 아니라 유틸리티 앱도 만들 수 있고 픽셀 단위로 움직이므로 디자이너가 이해하기 쉽습니다. 코로나 클라우드를 통해 메시지 푸쉬 등을 쉽게 구현할 수 있습니다. 물리 엔진을 내장하고 있으며 네이티브, 즉 각 기기의 전용 언어와 맞먹을 정도로 퍼포먼스가 뛰어납니다.

높은 생산성은 우리 회사의 프로그래머가 공개한 ‘30분 만에 게임 만들기’ 동영상을 보시면 확인 하실 수 있습니다.


Q. 국내 코로나 사용 인원은 얼마나 되나?
_ 올해 초까지도 사용자가 많지 않았지만 현재는 수요가 점점 늘고 있으며, 코로나 전문 프로그래머를 채용한다는 회사가 있어서 개인적으로 상당히 고무적입니다. 작년 초부터 코로나를 알리기 위해 무척이나 애썼거든요. 제가 만든 ‘CoronaSDK로 앱 만들기’ 페이스북 그룹이 있는데, 그곳에만 현재 140여명이 활동 중입니다.

Q. ‘코로나 앰베서더’란 무엇인가?
_ 다른 분들보다 조금 일찍 시작했기에 한국 최초의 ‘코로나 대사’와 국내 유일의 코로나 교육 업체라는 타이틀을 얻게 되었습니다. 감사할 뿐이며, 그에 걸맞은 활동으로 보답하려 합니다.

Q. ‘코로나’를 열정적으로 알리는 이유는 무엇인가?
_ 코로나는 가격, 퍼포먼스, 생산성 등 종합적으로 판단했을 때 가장 뛰어난 2D 게임 개발 플랫폼입니다. ‘배워서 나눠주고, 좋은 건 적극적으로 알리자’는 취지로 시작한 것이 지금은 일이 되었고 우리 회사의 비전이 되었는데요. 아폴로케이션은 ‘코로나 랩스 코리아’를 꿈꾸고 있습니다. 이를 위해 미국 본사에 적극적으로 어필하고 있으며, 조만간 직접적인 교류의 시간도 마련할 예정입니다.

Q. 최종 목표는 무엇인가?
_ 꿈이 없는 청년들에게 꿈을 심어주고, 꿈이 있는 사업가에게 직접적인 도움을 주는 일을 하고 싶습니다. 제가 가진 것이 많든 적든 나눌 수 있는 부분을 찾고 실천해 나가는 것, 그 것이 제 삶을 가치 있게 한다고 생각합니다.

조웅규 기자


Corona SDK로 앱 만들기 ::

https://www.facebook.com/groups/coronasdk/


원강민 페이스북 ::

https://www.facebook.com/englekk

저작자 표시
신고
Posted by 원강민
Corona SDK2012.05.11 15:59


앱스토어: http://itunes.apple.com/us/app/daejeonmajgo-onlain-hd/id515206694?l=ko&ls=1&mt=8


[영어]


▶You didn't expect a better 맞고[Matgo app]? Here comes the champion of 맞고[Matgo] app. 


▶You will experience the best UX ever, all you can imagine, with "Waging war of MATGO Online HD(대전맞고 온라인 HD)". 


▶Mache dir keine Sorgen um das Spielgeld. Sobald du diesen  App gekauft hast, kannt du das Spiel ohne zusatzliche Gebuhr spielen. 


▶"Waging war of MATGO Online HD(대전맞고 온라인 HD)" passed the review of Game Rating Board(Category No: CC_NM-120316-001).


[Features]

You can play with your friends or other people online using "Network Match(네트워크대전, NetworkDaecheon)" as well as alone "Play Alone(혼자치기[Honjachig]i)".


▣ Are you worried about your eyesight? Don't worry. The app is also good for grandmas and grandpas. The size of cards is very large and it's easy to recognize cards movement so that your eyes don’t get easily tired.


▣ The best UX ever


- Mac Dock UI : Thanks to Wave-style Magnifying effect, it's very convenient to play even with a small screen. 


- Real Card Handling : You can play the game using your wrist snap, as you do in a real world.


- Easy Insight Display : Don’t worry if you are novice, not knowing all the combination set to make more points. We added “Bisang”(비상) feature, and you'll see a suggestion what combination set you can make, which will bring you more point.


▣ Even though you've lost all the game money, you can play further. This is very important to prevent game addiction. Game Rating Board requires this feature as a compulsory criteria. 


--------------------------------------------------

[독어]


☆ Du hast kein besseres Matgo App erwartet? Hier kommt der Meister Matgo App.


▶Du wirst mit "Waging war of MATGO Online HD(대전맞고 온라인 HD)" die beste UX erleben, die du dir vorstellen kannst.


▶Mache dir keine Sorgen um das Spielgeld. Sobald du diesen ?App gekauft hast, kannt du das Spiel ohne zusatzliche Gebuhr spielen.?


▶Waging war von MATGO Online HD wurde von der Game Rating Board uberpruft und gutgeheissen (Kategoriennr: CC-NM-120316-001)


[Features]

Du kannst mit deinen Freunden oder anderen Leuten online spielen, indem du "Network Match(네트워크대전)" benutzt, aber auch alleine, indem du "Spielen Allein(혼자치기[Hongjachigi])" benutzt.


▣Machst du dir Sorgen um deine Augen? Nicht notig. Das App ist auch gut fur Omas und Opas. Die Karten sind sehr gross und es ist einfach, Kartenbewegungen zu erkennen, so dass deine Augen nicht schnell mude werden. ?


▣Die beste UX aller Zeiten


- Mac Dock UI : Dank dem wellenartigen Vergrosserungseffekt ist es auch auf einem kleine Bildschirm sehr angenehm zu spielen. ?


- Real Card Handling: Du kannst das Spiel wie in der Realitat aus deinem Handgelenk spielen.


- Easy Insight Display: Habe keine Angst, obwohl du ein Anfanger bist, der noch nicht alle Kombinationen zum Erhalt von Bonuspunkten kennt. Wir haben die “Bisang” Funktion(비상) eingefuhrt, bei der dir mogliche Kombinationen vorgeschlagen werden, die dir mehr Punkte bringen(z.B Godori(고도리), Hongdan(홍단), Choengdan(청단)).


▣Auch wenn du dein ganzes Spielgeld verbraucht hast, kannst du weiterspielen. Das ist sehr wichtig, um eine Spielsucht zu vermeiden. Game Rating Board verlangt diese Funktion als obligatorisches Kriterium.


--------------------------------------------------

[한국어]


☆더 이상 새로운 것이 나올 수 없다던 통념을 깨고 마침내 맞고의 종결자가 등장 했습니다!!


▶"대전맞고 온라인 HD"를 통해 상상만으로 가능했던 최고의 UX를 경험하세요!!


▶모두가 원했던 최고의 혜택 실현!! 어플 구매만 하면 더 이상 추가 결제없이 게임을 즐기실 수 있습니다.


▶'대전맞고 온라인 HD'는 게임물등급위원회의 심의를 통과한 어플입니다.(분류번호:CC-NM-120316-001)


[특징 소개]

▣'혼자치기'뿐만 아니라 '네트워크대전'도 가능합니다.


▣시력이 안좋으신 할아버지, 할머니도 걱정 끝!! 카드를 최대한 크게 하고, 카드 움직임을 사람이 인지하는데 불편이 없도록 최적화하여 눈의 피로를 줄였습니다.


▣최고의 UX 구현

- Mac Dock UI: 요술램프 지니 효과를 적용하여 좁은 화면에서도 전혀 불편함이 없습니다.


- Real Card Handling: 실제 고스톱을 치는 것처럼 손목 스냅을 이용해서도 게임을 즐길 수 있도록 하였습니다.


- Easy Insight Display: 고스톱을 잘 모르는 초보자라 할지라고 게임을 재밌게 즐길 수 있도록 일명 '비상' 기능을 추가했습니다. 고도리, 홍단, 청단 등 지금 나에게 가능한 전략을 실시간으로 표시합니다.


▣보유금이 0원이 되더라도 계속 게임을 진행할 수 있습니다. 이것은 게임 중독을 예방하는 방법으로 알려져 있으며, '게임등급심의'의 필수 항목이기도 합니다.


저작자 표시
신고
Posted by 원강민
Corona SDK2012.01.31 12:22

Lua 언어에 대하여..

코로나는 프로그래밍을 위해 Lua라는 스크립트 언어를 사용합니다.

Lua는 주로 게임 분야에서 많이 사용되는 언어인데 코로나의 가장 강력한 장점인 게임 개발과 연계하여 생각했을 때 당연한 선택이었겠죠. 비단 게임뿐만 아니라 Lua 자체만으로 봤을 때도 상당히 쉬운 문법 구조와 높은 생산성을 지닌 언어이기에 코로나팀은 주저없이 Lua를 '코로나의 프로그래밍 언어'로 선택했을 것입니다.

최근 가장 각광받는 스크립트 언어인 JavaScript와 알게 모르게 비슷한 부분이 많아 JavaScript(또는 ActionScript)에 익숙한 프로그래머라면 어렵지 않게 배울 수 있을 것입니다.

자, 그럼 Lua 언어의 기본적인 특징들을 살펴보죠.

1. Lua는 대소문자를 구분합니다. 즉, version과 Version은 다른 것으로 구분됩니다.

2. 명령줄 끝에 ;를 붙여도 되고 안붙여도 됩니다.

print(9)  <= 가능
print(9); <= 가능


3. 한줄 주석은 -- 를 이용하고 다중 라인 주석은 --[[와 --]]를 이용합니다.

한줄 주석

--print("주석 테스트")

다중 라인 주석

--[[

     print("주석 테스트")

--]]


4. 변수 타입을 선언하지 않아도 됩니다. 또한, 타입이 동적으로 변환됩니다.

local boo = 3

boo = {5, "string", 0.6}

print (boo[2]) <= string (테이블은 1 부터 인덱싱됩니다)


5. 변수는 local과 global로 나뉩니다. 변수앞에 local 키워드를 붙이면 local 변수고, 아무것도 안붙이면 global 변수가 됩니다.

function getNum()

     n = 10 <= global

     return n

end

print(getNum())

print(n)


6. 배열은 table이며 1부터 인덱싱이 됩니다. 또한, 이름으로 인덱싱할 수도 있습니다.

local tbl = {first=10, 20, second=30, 40} <= 이름으로 인덱싱할 경우 기본 숫자 인덱싱에서는 제외됩니다.

print(tbl[1]) <= 20

print(tbl[2]) <= 40

print(tbl["first"]) <= 10

print(tbl.second) <= 30
 
<다차원 배열 예>

local arr = {}

arr[1] = {1, 2, 3}

print(arr[1][2]) <= 2


7. 연산자

+, -, *, /, %, ^ 등 수식 연산자는 JavaScript/ActionScript와 동일합니다.
관계연산자에서 다른 부분이 하나 있는데, != 대신 ~=를 사용합니다. (==, ~=, <, , ]]><=, >=)
논리 연산자는 and, or, not을 사용합니다.
문자열의 연결은 ..을 이용합니다. PHP의 경우는 . 하나를 이용하는데 Lua는 두개입니다.
또한 배열이나 문자열의 길이를 구할 때 보통은 length를 이용하는데 Lua는 #을 이용합니다. (num.length => #num)

<연산자 우선순위 (높은순)>

^
not   #     - (부호인 단항연산자)
*     /     %
+     -
..
>     <     >=    <=    ~=    ==
and
or

 <도트 연산자>

JavaScript/ActionScript의 경우는 프로퍼티와 메소드에 접근할 때 . 연산자를 이용합니다. Lua의 경우 프로퍼티는 . 로 접근하지만 메소드는 : 을 이용합니다.

JavaScript
object.translate( 10, 10 );

Lua 
object:translate( 10, 10 ) 
 

8. 메모리 관리는 Java, C#, ActionScript가 그러하듯 Lua도 가비지 컬렉터가 자동으로 알아서 해줍니다. 따라서, 초급 개발자도 쉽게 개발이 가능합니다.


9. 변수에 다중 할당이 가능합니다. 변수값 스와핑에 유용하겠네요.

local x = 3
local y = 5
print(x, y) <= 3  5
x,y = y, x
print(x, y) <= 5  3

10. Lua의 함수는 여러개의 값을 리턴 할 수 있습니다. 위 9번에서 살펴본 것처럼 변수에 다중 할당해서 사용할 수 있습니다.
function getTwoParam()
     return 3, 5
end
local a, b = getTwoParam()
print(b); <= 5

Lua언어의 기본적인 특징을 살펴봤습니다. 기존에 다른 언어를 하셨던 분들은 힘들이지 않고 쉽게 적응하실 것입니다.


다음엔 Corona SDK의 특징들을 정리해 보겠습니다.

신고
Posted by 원강민

티스토리 툴바