ã©ãã§ããã
åãæéã«ãããäžåºŠã«ãŒã«ã確èªããã ãã®ååãªäœæ¥ã確èªããããšãã§ããŸãããåžžé§ã®ã¹ãã·ã£ãªã¹ãã¯éåžžã«å°ãªãã圌ãã¯é ããŠããŸãã ç¶æ³ã®æ¹åã«è²¢ç®ããããã«ãããã2ã€ã®ã¢ãã€ã«ãã©ãããã©ãŒã ã§ã®ã²ãŒã éçºã®äž»ãªãã€ã³ãã«é¢ããæèŠãå ±æããããšã«ããŸããïŒããã€ãã®æç¹ã§ãæšå¥šäºé ã瀺ããAndroidãšiOSã®éçºã®é人ããã®ã³ã¡ã³ãã®å Žæãæ®ããæè¿ããŸãã
ããã°ã©ãåãã®ãã¹ãã¿ã¹ã¯ã¯ãObjective-C for iOSããã³NDK for Androidã䜿çšããŠArkanoidã²ãŒã ã®ãããã¿ã€ããéçºããããšã§ããã
iOSã«éä¿¡ãããã¿ã¹ã¯ã«å¿ããŠ
iOSåãã®ã¢ã«ã«ãã€ãã®ç°¡åãªã¬ãã¥ãŒããå§ããŸãããïŒããªãå€ãéãããŸããïŒ-æãèšæ¶ã«æ®ããæããã«ãªããŸãïŒ
1.ãªãªãžãã«ã®ã¢ã€ãã¢ã
䟿å©ãªç®¡çã
åªããè¡çªåŠçã
ãã©ãããã©ãŒã ã®ç«¯ã«è¿ã¥ããšãããŒã«ã®æ¹åãå€ãããŸã
2.çŸããã°ã©ãã£ãã¯ã 䟿å©ãªç®¡çã éåžžã«é«éãªã²ãŒã ãã¬ã€ã åªããè¡çªåŠçã
3.ããªããã£ãã«åºã¥ãã·ã³ãã«ãªã°ã©ãã£ãã¯ã
䟿å©ãªç®¡çã
åªããè¡çªåŠçã
ãã³ããžã§ã¹ãã£ã®åœ±é¿
ã²ãŒã é床ã
é²ãã«ã€ããŠ
ãã¯ã¹ãã£ãäžããçŸãã
ãZeptoã«è¡ãããããšããç¢æããããŸã
4. 3Dã§å®äºããŠéä¿¡ãããå¯äžã®ã¿ã¹ã¯=ïŒ
5.ã¢ãã©ã¹ã®äœ¿çšã
ãã¬ãŒã ããšã®ã¢ãã¡ãŒã·ã§ã³ã
䟿å©ãªç®¡çã
çŸããã°ã©ãã£ãã¯ã
6.å€ãåŠæ ¡ã®ãããªã¹ã®ã¹ã¿ã€ã«ã§äœãããçŸãããã¹ãã¿ã¹ã¯ã
é©åãªé³ã®äŒŽå¥ã
䟿å©ãªç®¡çã
7.éåžžã«çŸãããã¹ãã¿ã¹ã¯ãã»ãšãã©å®æãããããžã§ã¯ãã®ããã«èŠããŸãã
䟿å©ãªç®¡çã
åªããè¡çªåŠçã
é«éãªã²ãŒã ãã¬ã€ã
8.å ã®ã¿ã¹ã¯ãšãããããæã€å¯äžã®ã¿ã¹ã¯ïŒã¹ã¿ããããããŠã£ã¶ãŒãããªãŒã¯ããéœåžãä¿è·ããŸãïŒã
çŽ æµãªãã¬ãŒã ããšã®ãã£ã©ã¯ã¿ãŒã¢ãã¡ãŒã·ã§ã³ã
ããããééãïŒ
1.ã¡ã¢ãªãªãŒã¯ã æ®å¿µãªãããèªååç §ã«ãŠã³ããã¯ãããžã䜿çšããã«å®è¡ãããã»ãšãã©ãã¹ãŠã®ã¿ã¹ã¯ã«ã¯ãã¡ã¢ãªãªãŒã¯ããããŸããã
2.è¡çªåŠçã å€ãã®ã¿ã¹ã¯ã§ãããŒã«ã¯ãã¥ãŒããŒã«ãŸãã¯ãããªãã¯ãã«è©°ãŸããŸããã æãé¡èã«ãããã¯éåžžã«å³ãã匷å¶ãããã¬ãã«ã§èµ·ãããŸããã ããã«ãã»ãšãã©ã®å Žåãããã¯æåã®èµ·åæã«èŠãããŸããã ã»ãšãã©ãã¹ãŠã®ã¿ã¹ã¯ã§ãåŠçã¯ãã¬ãŒã ã¬ãŒãã«äŸåããŠããŸããã
3.管çã ã¹ã¯ã€ããžã§ã¹ãã£ãŸãã¯å é床èšã«å¶åŸ¡ãããã£ãŠããããšãããããã¥ãŒããŒã«ã§å¶åŸ¡ããããšãéåžžã«å°é£ã«ãªããŸããã ãã¡ããããã®ç¹ã¯ãšã©ãŒã«å®å šã«èµ·å ãããã®ã§ã¯ãªããããç§ãã¡ã¯ããã«ã€ããŠã¯åé¡ãããŸããã§ããã ããããããã«ãããããããç§ãã¡ã®æèŠã§ã¯ãæã䟿å©ãªã³ã³ãããŒã«ã¯ããã¥ãŒããŒã«ãå³å¯ã«ããªãã®æã«ç¶ããšãã§ãã
4.ã¢ããªã±ãŒã·ã§ã³ã¢ãŒããã¯ãã£ã æã«ã¯2ã€ã®æ¥µç«¯ããããŸããã ã¢ããªã±ãŒã·ã§ã³å šäœã®ã¡ã€ã³ã³ãŒãã1ã€ã®ã¯ã©ã¹ã«ããå ŽåããŸãã¯ãã®éã®å Žåã50åã®ã¯ã©ã¹ã®äžã«äœæãããããããã®ã¢ããªã±ãŒã·ã§ã³ã«ã¯ãŸã£ããäžèŠã§ãã
5.ã³ãŒãå ã®é倧ãªãšã©ãŒã ã»ãšãã©ã®å ŽåãOOPã®ååã«éåããŠããŸãã 幞ããªããšã«ããã®ãããªãšã©ãŒã¯ã»ãšãã©ãããŸããã§ããã
6.æã ãCocos2Dãªã©ã®ããŸããŸãªãµãŒãããŒãã£ãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠå®è¡ãããã¿ã¹ã¯ããããŸããã ãã®ãããªã¿ã¹ã¯ã¯ããã«æé€ãããŸããã
7.è¿œå ã®æäœãªãã§ã¯éå§ããããªãã¿ã¹ã¯ããããŸããã ããã¯ã»ãšãã©ã®å Žåããããžã§ã¯ãã®èšå®ãåå ã§ãã ããšãã°ãã°ããŒãã«ãã¹ã§ãªãœãŒã¹ãè¿œå ãããŠããŸãã ãã®ãããªãšã©ãŒã5å以å ã«ä¿®æ£ã§ããå Žåãã¿ã¹ã¯ã¯ç«¶æããæ€åãããŸããã§ããã
8.解å床ã ã³ãŒãã«ã¯ãå€ãã®å Žåã1ã€ã®ç¹å®ã®è§£å床ã«é¢é£ä»ããããå€ãã®ããžãã¯ãã³ããŒããããŸããã ä»ã®è§£å床ã§ã¯ãããã«å¿ããŠããã¹ãŠãåãåºããŸããã
9.åèµ·åããŸãã 1ã€ã®ã¢ããªã±ãŒã·ã§ã³ã¯ãäžæåæ¢ãããšäžæåæ¢ããŸãã ã¬ãã«ãåèµ·åããã«ã¯ãã¢ããªã±ãŒã·ã§ã³å šäœãåèµ·åããå¿ èŠããããŸããã
ããããŸã£ããééãã§ã¯ãããŸãããããã®ãããªã¿ã¹ã¯ã®è©äŸ¡ãè€éã«ããŸãã
æ°æãè¯ãããïŒ
ãµãŠã³ããã¶ã€ã³ãã¹ã¿ã€ãªãã·ã¥ãªã°ã©ãã£ãã¯ã¹ãçŸããã¢ãã¡ãŒã·ã§ã³ãªã©ãããã€ãã®ã¿ã¹ã¯ã¯æ¥œãããã®ã§ãã çŸãããã¶ã€ã³ããããããžã§ã¯ããèŠãã®ã¯ç¢ºãã«åã³ã§ããããã®ãããªãããžã§ã¯ãã¯ããèšæ¶ãããŠããŸãããã¡ã€ã³ã¿ã¹ã¯ã¢ã«ãŽãªãºã ãæŽç·ŽããããŸã§ããŸããŸãªçŸãããã®ã®è¿œå ã延æããããšããå§ãããŸãã äœããããŸããã³ãŒãã®æ§æãšå¯èªæ§ãè¡çªãåŠçããã¢ã«ãŽãªãºã ãå¶åŸ¡ã®å©äŸ¿æ§ãšå®è£ ããããŠãã¡ãããçºçãããšã©ãŒã®æ°ãæ£ç¢ºã«èæ ®ããããã§ãã
Androidã«éä¿¡ãããã¿ã¹ã¯ã«å¿ããŠ
AndroidåãéçºçšIDEã®ã¢ã¯ã»ã·ããªãã£ã®åºŠåãã¯ããçšåºŠé«ããããŒããŠã§ã¢èŠä»¶ã¯iOSåãXcodeãããäœããšããäºå®ã«ããããããããã®OSã®ãã¹ãã®ãããŒå šäœã®çŽ4åã®1ãéä¿¡ãããŸããã ããã¯ãããã©ã«ãIDEã®ãã€ãã£ãç°å¢ïŒéåžžã¯EclipseïŒã®éåžžã®çµ±åãããã¬ãŒãäžè¶³ããŠããããšãããã°ã©ããŒãå°ãªããšã2ã€ã®ããã°ã©ãã³ã°èšèªïŒC ++ãšJavaïŒãç¥ã£ãŠããããããããããã«ç解ã§ããããã«ããããã®èŠä»¶ã«ãã£ãŠéšåçã«èª¬æã§ããŸãã
å€ãã®äººãåããŠAndroidéçºã«ç²ŸéããŠãããšããäºå®ã¯ãéä¿¡ããããœãŒã¹ã³ãŒãããæããã§ããã ãŸããå€ãã®ããã°ã©ããŒã¯ããããæçŽãã€ã³ã¿ãã¥ãŒã§æ£çŽã«è¿°ã¹ãŸããã ãã®ãããªãã¹ãã±ãŒã¹ãããå³å¯ã«å€æããŸããã§ãããããã¯ãéçºè ãAndroidåãã®æåã®ãããžã§ã¯ãã§ãããšããäºå®ã«çãããŠããªãããã§ãã 誰ããå¹³çãªç«å Žã«ããã
ãããžã§ã¯ãã®åºç€ãšããŠãã€ãã£ãç°å¢ã§äœæ¥ããã®ã¯åããŠãAndroid NDKã«ä»å±ã®ãµã³ãã«ã䜿çšããŸãããããã¯ããã«ããããã®ãããããã«äœæ¥ãããžã§ã¯ããååŸããçŽ æŽãããæ¹æ³ã§ãã ããçµéšè±å¯ãªããã°ã©ããŒã¯ãèªåã®ã©ã€ãã©ãªãŒãšä»ã®ã©ã€ãã©ãªãŒãæããã¹ããã©ã¯ãã£ã¹ã䜿çšããŠããŸãã ãã®çµæããããžã§ã¯ãã®ãœãŒã¹ã³ãŒãã®ããªã¥ãŒã ãå€§å¹ ã«å¢å ããããšããããåæã«ååãªè³æããããŸããã ã¡ãªã¿ã«ããæ軜éããããžã§ã¯ãã®ãœãŒã¹ã³ãŒãã®éã¯14ãããã€ãã§ã1.6ã¡ã¬ãã€ãïŒã³ãŒãã®ã¿ïŒã§ãã ã¡ãªã¿ã«ãæãç°¡åãªã³ãŒãã®äœæè ã¯ãŸã ããŒã ã«åå ããŸãã
ããã°ã©ã ã®äž»ãªèŠä»¶ã®1ã€ã¯ãä»»æã®ç»é¢è§£å床ã§ã®æ£ããæäœã§ããã Androidã®å Žåããã®èŠä»¶ã¯iOSãšæ¯èŒããŠããéèŠã§ãã ããã€ã¹ã®ã¢ã¯ã»ã¹èš±å¯ã®ãªã¹ãã¯ããããã«ãé·ããªããŸãïŒãã®ãããã¯ã«é¢ããæçšãªèšäºïŒ opensignalmaps.com/reports/fragmentation.php ïŒããããã®ãã¹ãŠã«ã€ããŠã2ã€ã®æ¡ä»¶ãæºãããŠããå¿ èŠããããŸãã
1.äžè¬çãªç©çåŠãšã²ãŒã ãã¬ã€ã®äžå€æ§ã ç°¡åã«èšãã°ããŠãŒã¶ãŒã®ã¢ã¯ã·ã§ã³ïŒããšãã°ããã®ãããªå¶åŸ¡æ¹æ³ãéžæãããå Žåã¯ç»é¢ã«è§ŠããïŒãçžå¯Ÿåº§æšã§èšé²ããå¥ã®ããã€ã¹ã§ããããåçããå Žåãã¬ãã«ã®å€åã¯å€ãããªãã¯ãã§ãã
2.èŠèŠéšåã®èš±å®¹å¯èœãªå€æŽã
ããŸããŸãªèè ããããã®æ¡ä»¶ãããŸããŸãªæ¹æ³ã§æ±ã£ãã
ç»åã®åçŽãªã¹ã±ãŒãªã³ã°ã¯æããã«é©åã§ã¯ãããŸãããããã¯ãäžžãããŒã«ã®ä»£ããã«æ¥åã衚瀺ããå¿ èŠãããããã§ãïŒãŸãã¯ãã¿ã¹ã¯ã®äžéšã§ããŒã«ã®åœ¹å²ãæãããæ£æ¹åœ¢ã®ä»£ããã«é·æ¹åœ¢ïŒ
äžéšã®ããã°ã©ããŒã¯ãæå°è§£å床ã®ããã«ç«¶æå Žã®ãµã€ãºããã¯ã»ã«åäœã§å®è£ ãã倧ããªããã€ã¹ã§ã¯ã競æå Žãç»é¢ã®äžå€®ãŸãã¯é ã«è¡šç€ºããŸããã
ãšããã§ãããŸããŸãªããã€ã¹ã§OpenGLã³ãŒãã䜿çšããŠããŒã«ã衚瀺ãããšããã¿ã¹ã¯èªäœã¯ç°¡åã§ã¯ãããŸããã äžéšã®ãŠãŒã¶ãŒã¯ãç»é¢ãµã€ãºã倧ãããããšèŠèªæ§ã倱ããããã¯ã¹ãã£ã䜿çšããŸããã äžéšã¯ããã°ã©ã ã§ããŒã«ãæããŸããã ãšããã§ããã®ãããã¯ã«é¢ããç¡é¢å¿ãªè¡å人ã®ã³ã¡ã³ããèããŠããããã§ãïŒæåã®å¶éïŒã²ãŒã ãã¬ã€ã®äžå€æ§ïŒãèæ ®ããã«OpenGLããŒã«ãã©ã®ããã«æç»ããŸããïŒ
ã³ãŒãèªäœã«ã€ããŠå°ã
以äžã¯ãAndroidã«éä¿¡ãããã¿ã¹ã¯ã®äžéšã®ã¹ã¯ãªãŒã³ã·ã§ããã§ãã
ã¢ã«ã«ãã€ãã®çŽ æŽãããå®è£ ã
èè ã¯æ³šæãæãå¿ èŠããããŸã
ããŒã«ã®æåã«ã€ããŠ
ãããã¯ããæŒãã®ããŠã
è§åºŠã®ä¿å
è¡çªã åæ§ã«
ã²ãŒã ã§ã¯ãããŒã«ããŒãé衚瀺ã«ããããšãæãŸããã§ãã
ã²ãŒã ã®ã¬ã³ããªã³ã°ã«åé¡ããããŸã
ãã¡ãŒã ãŠã§ã¢2.3.2ã䜿çšããSony Xperia Playã
ããªãèå³æ·±ãå®è£ ã ãã®å Žåãéåã§ã¯ãªããå é床èšã䜿çšããŠéåãå¶åŸ¡ããŸãã ç§ã¯ãFPSãé«ããã¢ãã¡ãŒã·ã§ã³ã«ããããããªãããšãæ°ã«å ¥ã£ãŠããŸãã ã²ãŒã ãã¬ã€ã¯éåžžã«èå³æ·±ããåæã«æ¡ä»¶ã®äžéšã§ããããšãå€æããŸããã èè ã¯ãããã€ãã®ããã€ã¹ã®ããŒã«ã®åœ¢ç¶ãšããã¡ãŒã ãŠã§ã¢2.3.6ãæèŒããSamsung Galaxy Noteããã³ãã¡ãŒã ãŠã§ã¢4.0.4ãæèŒããGoogle Nexus Sã§èµ·åããéã®åé¡ã«æ³šæããå¿ èŠããããŸãã
ã¢ã«ã«ãã€ãã®æšæºçãªå®è£ ã å€å žçãªã²ãŒã ãã¬ã€ãšåé¡ã®æ¡ä»¶ã®å³å®ã ãããã¯å é床èšã«ãã£ãŠå¶åŸ¡ãããŸãã é·æã®ãã¡ãããªãæ»ãããªã¬ã³ããªã³ã°ã«æ³šç®ããããšãã§ããŸãã ãã€ãã¹ã®-ãããã®äžéšãšã®è¡çªã®åŠçã®äžæ£ç¢ºããšãæåã«ããŒã«ã®æ¹åãå³å¯ã«åçŽã«èšå®ãããŠããå Žåã®å¯èœæ§-ãã®å Žåãã¬ãã«ã¯ééã§ããªããªããŸãã
å å®ãªäœæ¥ãæé«ã®å®è£ ã®1ã€ã 䟿å©ãªã³ã³ãããŒã«ãåªããã°ã©ãã£ãã¯ã¹ãåªããã²ãŒã ãã¬ã€å šè¬ã 厩å£ãããããã¯ã®ã¢ãã¡ãŒã·ã§ã³ã®ååšã«æºè¶³ããŠããŸãã çè ã¯ããã¬ãŒã€ãŒããããã®ç«¯ã§ããŒã«ãç¹°ãè¿ãæã€å Žåã®å£ããã®å€§ããªéžè±è§åºŠã§ã®ããŒã«ã®æåãèŠãŠããã¹è§åºŠãå¢ããããã¡ãŒã ãŠã§ã¢2.3.6ã䜿çšããSamsung Galaxy Noteã®ã¢ããªã±ãŒã·ã§ã³ã®åäœäžèœã«ã泚æããå¿ èŠããããŸãã
å¥ã®è¯ãä»äºã ããã§ã¯ããã¹ãŠã®èŠçŽ ããã¯ã»ã«ã·ã§ãŒããŒã§æç»ãããŸããã¬ãã«ãæž¡ããšããªãŒã«ãã¹ã¯ãŒã«ã·ã§ãŒããŒå¹æã¯ã90幎代ã®ããã«ã¡ã¯ãã«ãªããŸãã ãã©ã¹ã®ç¹ãšããŠãã²ãŒã ãã¬ã€ã®æ»ããããšé«ãFPSã«æ³šç®ããããšãã§ããŸãã ãã®ããã°ã©ã ã¯ããã¹ãããããã¹ãŠã®ããã€ã¹ã§æ©èœããŸããã æãå°ããªããããèŠã£ãŠãããããäœæè ã¯ããããäžããã¿ãããŸãŒã³ãäžããå¿ èŠããããŸãã
ååãªæ°ã®ãªãã·ã§ã³ãéä¿¡ããããããåãããŒã«ã«åé¡ã®è§£æ±ºçãæ¯èŒããæ©äŒããããŸããã
ããšãã°ãããŒã«ã衚瀺ããããšã«å ããŠãããããåæåããã¿ã¹ã¯ã瀺ãããŸãã
誰ãããããå®è¡ããŸããïŒiOSïŒïŒ
const intã¬ãã«[LD_HEIGHT] [LD_WIDTH] = {
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}ã
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}ã
{0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0}ã
{0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1}ã
{0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1}ã
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,1}ã
{0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1}ã
{0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1}ã
{0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1}ã
{0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}ã
{0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}ã
{0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}ã
{0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0}ã
{0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0}ã
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0}ã
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0}ã
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0}ã
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0}ã
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0}ã
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0}ã
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0}ã
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0}ã
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0}ã
{0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0}ã
{0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0}ã
{0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0}ã
{0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0}ã
{0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0}ã
{0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0}ã
{0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0}};
ãã®ãããªäººïŒAndroidïŒïŒ
forïŒint i = 0; i <MAP_W * MAP_H; ++ iïŒ
ïŒãããã¯[i] =æ°ãããããã¯ïŒïŒïŒ-> initïŒïŒiïŒ MAP_W-MAP_W / 2ïŒ* 0.2ãïŒi / MAP_WïŒ* 0.2ãiïŒ 3> 0ïŒ1ïŒ0ãïŒi + 2ïŒ ïŒ 4> 0ïŒ0.7ïŒ0ãïŒi + 3ïŒïŒ 5> 0ïŒ0.9ïŒ0ïŒ;
ãããŠããã®ãããªèª°ãïŒiOSïŒïŒ
//ãããçæ
ããã[0,0] = 1;
ããã[0,1] = 2;
ããã[0.2] = 4;
ããã[0.3] = 1;
ããã[0.4] = 2;
ããã[0.5] = 0;
ããã[0.6] = 3;
ããã[0.7] = 2;
ããã[1,0] = 1;
ããã[1,1] = 3;
ããã[1,2] = 0;
ããã[1,3] = 1;
ããã[1,4] = 2;
ããã[1,5] = 3;
ããã[1,6] = 4;
ããã[1.7] = 2;
ããã[2.0] = 1;
ããã[2,1] = 0;
ããã[2,2] = 2;
ããã[2,3] = 3;
ããã[2,4] = 4;
ããã[2,5] = 3;
ããã[2.6] = 0;
ããã[2.7] = 2;
...
ããã[4.7] = 1;
ããããããããããã«ã©ã®ã³ãŒããæžãããããåé¡ã®è§£æ±ºãã¹ããŒãã¢ããããããšãç®çãšããã³ãŒãããããŠèª°ããé©ããããã«ã©ã®ã³ãŒããã³ãŒãããããã«ããããŸãã
ãŸãããã®ãããã¯ã«è§Šããã®ã§ãç§ãã¡ã¯ãã®ãããªã³ãŒãã«é¢ããè¡å人ã®æèŠã«èå³ããããŸãïŒãã®å Žåãååšããæš©å©ããããã«ãŒãïŒiOSã³ãŒãïŒã«çœ®ãæãã䟡å€ããããŸãïŒ
[player_pic addFrameïŒ[UIImage imageNamedïŒ@ "0.png"]];
[player_pic addFrameïŒ[UIImage imageNamedïŒ@ "1.png"]];
[player_pic addFrameïŒ[UIImage imageNamedïŒ@ "2.png"]];
[player_pic addFrameïŒ[UIImage imageNamedïŒ@ "3.png"]];
[player_pic addFrameïŒ[UIImage imageNamedïŒ@ "4.png"]];
[player_pic addFrameïŒ[UIImage imageNamedïŒ@ "5.png"]];
...
[player_pic addFrameïŒ[UIImage imageNamedïŒ@ "12.png"]];
iOSãã©ãããã©ãŒã ãšAndroidãã©ãããã©ãŒã ãæ¯èŒãããšãiOSã®ã³ãŒãã®ã°ãã€ããããé¡èã§ãããšèšããŸã-å€èªã§ããªãäŸã¯æ¬åœã«å€èªã§ãããã¹ãã²ããã£ã³ãŒãã¯ãã®åã®éãã§ãããé©åã«èšèšãããã¿ã¹ã¯ã¯æ¬åœã«çŸããèŠããŸãã
ãŸããiOSã«æ¯ã¹ãŠAndroidããã°ã©ããŒã«ããåé¡ã®å®åŒåã«å¯Ÿããåµé æ§ã®äœãã¢ãããŒãã«æ³šç®ããããšæããŸã.iOSã§ã¯ã人éã®èºãã¿ãã³ã®ãããã®å©ããåããŠå£ããŠããŸãããïŒã¢ã€ãã¢ã¯åçšãããããšãå€æããŸããïŒããããªã¹ã®ã¯ããŒã³ãããã«ã¯ãã¡ã³ã¿ãžãŒã®ã¹ããŒãªãŒã©ã€ã³ãåãããããžã§ã¯ãã§ãã
äžè¬ã«ãã³ãŒãã«ãã£ãŠïŒiOSãšAndroidã®ã¿ã¹ã¯ãæ¯èŒãããšã次ã®ãããªããšãããããŸãããiOSã®ã³ãŒãã¯ããŸãææžåãããŠããããããªãé »ç¹ã«æ±ããŠããŸãã å ã ã¹ã¿ãã§ãã£ãé¢æ°ã«èªåçæãããã³ã¡ã³ããæ®ãã人ãããã°ã倧ããªã¢ãžã¥ãŒã«å šäœãã³ã¡ã³ãã¢ãŠããã人ãããŸããã
äž¡æ¹ã®ãã©ãããã©ãŒã ã§ã次ã®ãããªKOã³ã¡ã³ãã®æ¬ åŠ
Void initGame(); //
ããããæ¬è³ªçã«ã¯ãã£ãšã³ã¡ã³ãããã£ããããããŸããã
å®è£ ã®äžæ£ç¢ºãã«ã€ããŠ
ããã°ã©ããŒã®ä»äºã¯ããã³ãŠã¢ãªãå¶åŸ¡ãã...ç»é¢äžã®ç¹å®ã®å Žæã«ããã¬ã³ã¬ãå£ããããšã§ããã å€ãã®äººãããã€ãã®ã¬ã³ã¬ã§æ§æãããã¬ãã«ãæãã3Dãªãã·ã§ã³ããããå®éã®éççšãããã®ãªãã·ã§ã³ãããããŸããã
ãã¹ã課é¡ã¯æè¡çãªèª²é¡ã§ã¯ãããŸãããæåŠç 究ãããŸããã§ããããªããªãã äž¡åŽããã¹ãã¿ã¹ã¯ã®ç®çãç解ããŠããŸãã ããã°ã©ããŒããã£ãšè€ââéã§é¢çœãããšãããå Žåãããã¯ãã©ã¹ã«ãªããŸãã ããããå®åŒåãããã¿ã¹ã¯ãå³å®ããããšããã©ã¹ã§ãããããèªäœã人ã«ã€ããŠå€ããèªã£ãŠããŸãã ãããããã§ã«éžæãããæ¹åã«åŸãããšã¯çå£ã«è©äŸ¡ãããè©äŸ¡ãããã®ã¯äž»ã«éžæãããããŒãžã§ã³ã®ã²ãŒã ãã¬ã€ã®ãã°ã§ããã
è«
ã»ãŒå šå¡ã«ãã°ããããŸããã ããã»ã©ã§ã¯ãããŸããããã¬ã³ããªã³ã°ã®ãšã©ãŒãéèŠããã²ãŒã ãšã³ãžã³ã®äžæ£ç¢ºãã«æ³šæãåããŸããã ã°ã©ãã®ãšã©ãŒãããã«ç®ç«ã€å Žåãããžãã¯ã®ãšã©ãŒã¯ããæœè¡æ§ããããŸãã ãã¹ããéããŠãããã«åªããã³ãŒããäœæã§ããããã°ã©ããŒãæ¢ããŸããã ãã®å Žåãããã¯è¡çªã®æ£ããåŠçãã¡ã¢ãªãªãŒã¯ããªãããšããããŠãã¡ããã²ãŒã ãã¯ã©ãã·ã¥ããããšãæå³ããŸãã
ããžãã¯ã®å žåçãªãšã©ãŒïŒ
1.ã¬ã³ã¬ããããŒã«ãåºãæ¹åã決å®ããŸãã çµå±ã®ãšãããã»ãšãã©ãã¹ãŠã®äººããšã©ãŒãæ±ããŠããããããã®äºçŽ°ãªäœæ¥ã«ã¯æ éãªãã¹ããå¿ èŠã§ããã æãäžè¬çãªã®ã¯2ã€ã§ãã
â¢ããŒã«ã2ã€ã®ã¬ã³ã¬ã®æ¥åéšã®è§ã«èœã¡ãå ŽåãããŒã«ã¯X軞ãšY軞ã«æ²¿ã£ãŠå察æ¹åã«é£ã¶ã
â¢ããŒã«ã¯ãå ¥å°è§ãšã¯ç°ãªãè§åºŠã§ã¬ã³ã¬ããé£ã³å»ããŸãã
2.ããŒã«ããã§ã«ãããã®ã¬ãã«ãééããããããããããã«ããŒãããŠãããšãã®ããŒã«ã®åäœã®èª€ã£ãèšç®ã ãã®å Žåããã°ã¯ç»é¢ã®äžéšããããŒã«ãââæŒãã®ãããŸã§éåžžã«å€æ§ã§ãããåââé¡ã®å£°æãšçŽæ¥ççŸããŠããŸãã
Androidã®ã³ãŒãå ã®ããžãã¯ã®ãšã©ãŒã«å ããŠãã·ã¹ãã ãšã©ãŒããããŸãããäž»ã«ãã¡ã¢ãªãæäœããéã®å žåçãªãšã©ãŒã§ãã ãããã詳现ã«èª¬æããŠãæå³ããããŸããã 誰ãã¢ããªã±ãŒã·ã§ã³ãã¯ã©ãã·ã¥ãããŸããã§ããã
ãããã«
以äžã«ãçæ³çãªã¿ã¹ã¯ã®èª¬æã瀺ããŸãã
1.è¡çªã çæ³çã«ã¯ãäœfpsãªã©ã«é¢é£ããåé¡ããªãããã«ãããã§é£ç¶çãªè¡çªè¿œè·¡ã·ã¹ãã ãäœæããå¿ èŠããããŸãã
2.ã¡ã¢ãªãªãŒã¯ã¯ãããŸããã iOS 5.0ã¯ããã¯ãããžãŒ-èªååç §ã«ãŠã³ãã«ããã¡ã¢ãªåŠçãç°¡çŽ åããŸãã
3.åªããã¢ããªã±ãŒã·ã§ã³ã¢ãŒããã¯ãã£ã OOPãäœã§ãããããããŠãããæ£ãã䜿çšããæ¹æ³ãç¥ã£ãŠããããšã瀺ãããšãã§ããã°ããããã§ãã
4.䟿å©ãªç®¡çã ãã®ã¿ã¹ã¯ã§ã¯ãç§ãã¡ã«æãããããã«ãæã䟿å©ãªã³ã³ãããŒã«ã¯æã§ãã©ãããã©ãŒã ãå³å¯ã«ãã©ããŒããããšã§ãã ããã«ããã©ãããã©ãŒã ã¯æãšéãªããªãããã«ããŠãã ããïŒç»é¢ã®äžéšããæã¡äžããããšãã§ããŸãïŒã ã¿ãããŸãŒã³ã¯ãæãäžäžã«åãããŠãå¶åŸ¡ã倱ãããªãããã«ãç»é¢äžã§åäœããå¿ èŠããããŸãã ããã§ã¯ãã«ãã¿ããã¯ãŸã£ãã圹ã«ç«ããªãããããšã©ãŒãé¿ããããã«ãªãã«ããå¿ èŠããããŸãã
5.åæ§ã ã¿ã¹ã¯ã«ç±æãããå Žå-ããã¯ãã©ã¹ã§ãã
ããã«ãããã¢ã«ã«ãã€ãã³ã³ãã¹ãã®çµäºãæ£åŒã«çºè¡šããŸãã ããããDream Teamã®äŒç€Ÿã¯äžå¯éçã«æé·ããŠãããããiOSããã³Androidãã©ãããã©ãŒã çšã®æ°ããããã°ã©ããŒã®ã»ããïŒLeadsãšæ®éã®ããããæèœã®ããäž¡æ¹ïŒãçºè¡šãã æ°ããã¿ã¹ã¯ãæäŸããŸãã
æãç°¡åãªããŒãžã§ã³ã§ã¯ãããã¯ãã³ã®ãããã¿ã€ããäœæããå¿ èŠããããŸããç§ãã¡ã®ãã£ã©ã¯ã¿ãŒãããè¿·è·¯ãšã圌ã«è¿œãã€ãããšããŠããã¢ã³ã¹ã¿ãŒãããŸãã
è¿·è·¯ã«æ£ãã°ã£ãŠããé£ã¹ç©ããã¹ãŠéãããªããåã¡ãŸããããæªç©ãç§ãã¡ã«è§Šãããªããè² ããŸããã ããªãããã£ã©ã¯ã¿ãŒãã³ã³ãããŒã«ããæ¹æ³ã¯ããªã次第ã§ãã
ãããã¿ã€ãèŠä»¶ïŒ
-ã¬ã³ããªã³ã°ã¯ãOpenGLïŒä»»æã®ããŒãžã§ã³ïŒã䜿çšããŠå®è£ ããå¿ èŠããããŸãã
-ã²ãŒã ã¯ãiOSã®å Žåã¯Objective-CãŸãã¯C ++ã§ãAndroidã®å Žåã¯NDKïŒC ++ïŒã䜿çšããŠäœæããå¿ èŠããããŸãïŒããã°ã©ã ã¯å®å šã«C ++ã§ããå¿ èŠããããJavaã§ã¯ã³ãŒããã€ã³ãã£ã³ã°ã®ã¿ãå¯èœã§ãïŒãµãŒãããŒãã£ã®ã©ã€ãã©ãªïŒCocos2DãGLKitãªã©ïŒã
ç§ãã¡ã®åŽã§ã¯ãåžžã«æèœã®ããããã°ã©ããŒãå¿ èŠãªã®ã§ãå®è¡æéãå¶éããŸããã å¹çã¯ééããªã競äºåãè¿œå ããŸãããä»äºã«æºè¶³ããããšã¯æåã®ä»äºãããè¯ãããšã§ãã job@zeptolab.comã§è³ªåãææ¡ãå®äºããã¿ã¹ã¯ããåŸ ã¡ããŠããŸãã
ç§ãã¡ã®ä»äºã¯é¢çœããåµé çã§ãå¯èœãªéãããŒã æåã§ããã ããç§ãã¡ã®ã¹ã±ãžã¥ãŒã«ã¯æè»ã§ãããçŸãããªãã£ã¹ã§ã®ååšã¯äžå¯æ¬ ãªèŠçŽ ã«ãªããŸãã
çªç¶ããããã®ã¹ãã«ããŸã£ããæã£ãŠããªãã®ã«ãZeptoLab-aéçºããŒã ã«åå ããããšãã欲æ±ãæžããªãã£ãå Žåããããã®ããŒã«ã®ãããããããã«åŠã¶ããšãã§ããŸãïŒåœç€Ÿã®ïŒãã§ã«åœç€Ÿã®ïŒAndroidéçºè ã®1人ã1ãæã§Androidã®ããã°ã©ãã³ã°ãåŠãã ïŒ ïŒC ++ãããç¥ã£ãŠããïŒãæé«ã®ã¿ã¹ã¯ã®1ã€ãéã£ãŠãããŸããïŒã ãããã£ãŠã圌ããèšãããã«ã欲æ±ãããã§ããã:)
äžèšã®ã¬ãã¥ãŒããéçºè ãèªåã®äœåã®é«å質ã䞻匵ããåäœãäœæããéã«äœãæ¢ãã¹ãããç解ããã®ã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãã 誰ãã®ããã«-ããã¯åœŒãã®åéã®å°é家ã®èŒªã§æãè©ŠããŠãå€ããåŠã¶ããäžã€ã®ãã£ã³ã¹ã§ãã
ãã¹ãŠã®ãã¹ãŠã
ããªãããããã¯ã§å ±æãããã®ãããå Žå-圌ããèšãããã«ããŸãæè¿ããŸãã
ãããªããèšããªãã§ãã ããã
ZeptoTeam