ã·ãŒãã®ã¹ã¯ãªãŒã³ã·ã§ããïŒ

ã©ããããããããŒããããšã€ã³ã¿ãŒãããã«åº§ã£ãŠã ããã§ãŒã³ãããŒã«ããŸã³ãããšããã²ãŒã ã«åºäŒããŸããã çç±ã¯ããããŸãããã圌女ã¯åŒ·ãç§ã倢äžã«ãããŸããã ã·ã³ãã«ã§ãããªããèå³æ·±ãã²ãŒã ãã¬ã€ãšããã€ãã®éç·åœ¢æ§-ã¬ãã«ã¯ããã€ãã®æ¹æ³ã§å®äºããããšãã§ããŸãã ããæå³ã§ã圌女ã¯ç§ããã€ãŠèŠããã§ããæªåé«ãã¯ã¬ã€ãžãŒãã·ã³ãæãåºãããŠãããŸããã
ãŸã³ãã殺ããåŸãç§ã¯èªåã®ã²ãŒã ãæžããšããã¢ã€ãã¢ãåŸãŸãã-
æ°å¹ŽåãããAndroidäžã®ã¢ãã€ã«ããã€ã¹çšã®ã²ãŒã ãæžããŠããŸãã libGDXãšã³ãžã³ã䜿çšããŸãã ãã®åã«ãAndEngineãè©Šããå°ããªããã¡ãã®ãããã¿ã€ããäœæããŸãã-ããããç§ã¯libGDXã«ç§»è¡ããŸããããä»ã¯åŸæããŠããŸããã äž»ãªæ©èœã¯ããã¹ã¯ãããã§ã³ãŒããèšè¿°ããã³ãããã°ããæå°éã®å€æŽã§ã²ãŒã ãAndroidã«è»¢éã§ããããšã§ãã ãã°ã®ããäœéã®ãšãã¥ã¬ãŒã¿ãèµ·åããã®ãåŸ ã€å¿ èŠã¯ãããŸããã ãããã£ãŠãã²ãŒã ã®äœæã«ãã®ãšã³ãžã³ãéžæããã®ã¯éåžžã«çã«ããªã£ãŠããŸãã
ã¢ã€ãã¢
ãåç¥ã®ããã«ããã¹ãŠã¯ã¢ã€ãã¢ããå§ãŸããŸãã ç§ã®å Žåãã€ããªãã®ãŒã®ã€ã³ã¹ãã¬ãŒã·ã§ã³ã¯ãã²ãŒã ããã§ãŒã³ãããŒã«ããŸã³ããããã¯ã¬ã€ãžãŒãã·ã³ãïŒãã®ã²ãŒã ã«ã¯éåžžã«å¹³å¡ïŒããæããªãŸã³ããã§ããã ç°¡åã«èšãã°ãã²ãŒã ã®ç®æš-æå ã«ãããã¹ãŠã®æ段ã䜿çšããŠãã¬ãã«ã®ãã¹ãŠã®ãŸã³ããç Žå£ããŸãã ãã§ãŒã³ãç匟ãç®±ãããŒããé±å±±ãè»ã®è»èŒªã«åããããééå±ã®ããŒã«ããå³èã®æ段ãšããŠæ©èœããŸããã ãã§ãŒã³ãåæããŠãããŒã«ããŸã³ãã«èœãšããŸã-å©çãç·ã®çãç©ã¯æ»ãã§ããŸãã ããè€éãªããŒãžã§ã³ã§ã¯ãç匟ãççºãããé©åãªã¿ã€ãã³ã°ã§ãã§ãŒã³ãåãå¿ èŠããããŸã-ã¢ãŒã±ãŒãèŠçŽ ããããŸãã ã²ãŒã ããã£ãšæ¥œããããããã«ãã²ãŒã ã®æéãå»ã ãšéããŠããŸããã¬ãã«ãæ©ãã¯ãªã¢ããã»ã©ãããå€ãã®æãç²åŸã§ããŸãã
ç§ã¯ãã®ã²ãŒã ã«Ugly Zombiesãšããååãä»ããããšã«ããŸãããããã¯äžçš®ã®ãªãã¡ã¬ã³ã¹ã§ãããStupid Zombiesã§ãã¬ã€ããè©Šã¿ã§ãã

å žåçãªã²ãŒã ãã¬ã€-ãã§ãŒã³ãåå®è¡ããç匟ãç®±ã«è»¢ãããç Žå£ããççºããç®±ããŸã³ãã殺ããŸãã
ãããªã²ãŒã ïŒ
ã²ãŒã æ§é
æ§é çã«ãã²ãŒã ã¯ãã¡ãã¥ãŒããšãã²ãŒã ãã«åãããŠããŸãã ãã¡ãã¥ãŒããããããã¯ã¹ç»é¢ãã«ç§»åãããããããã¬ãã«ç»é¢ãã«ç§»åã§ããŸãã ã¡ãã¥ãŒãããã·ã§ãããã«ã¢ã¯ã»ã¹ããããšãã§ããŸãã ã€ãŸããæ§é ã¯äŒçµ±çã§ããã²ãŒã ã«ã¯4ã€ã®ããã¯ã¹ããããåããã¯ã¹ã«ã¯18ã¬ãã«ïŒã°ãªãã6 * 3ïŒããããŸãã ã¬ãã«ã¯ãåã®ã¬ãã«ãééããåŸã«ã®ã¿äœ¿çšå¯èœã«ãªããŸãã ã¹ãã¢ã§ã¯ãè¿œå ã®ã¬ãã«ãè³Œå ¥ãïŒè©³çŽ°ã¯åŸã§èª¬æããŸãïŒãåºåãç¡å¹ã«ããããšãã§ããŸãã

ããã¯ã¹éžæã®äŸã åããã¯ã¹ã¯äžæã§ãïŒç¬èªã®ç»åãšã¢ãã¡ãŒã·ã§ã³ïŒ
éå¶ç®¡ç
å®éãã²ãŒã å ã®ãã¹ãŠã®å¶åŸ¡ã¯ããã§ãŒã³ãåæããç匟ãã¯ãªãã¯ããããšã«ãªããŸãã æåã®ããŒãžã§ã³ã§ã¯ããã¹ã¯ãããã§ã²ãŒã ããããã°ãããšãã«ããã§ãŒã³ãåé€ããã¯ãªãã¯ããŠç匟ãççºãããŸããã ããããç§ã¯é»è©±ã§ã²ãŒã ãéå§ããŸãã-ããã¯æªãããšã§ããã ãã§ãŒã³ã¯äžåºŠåæãããç匟ã¯ççºããŸããã§ããã ç§ã¯é ããããŠãåäœãã¯ãªãã¯ããã¿ããã«å€æŽããŸããïŒã€ãŸããã¿ãããããŸã ç»é¢ããæãé¢ããŠããŸããã§ããããã¢ã¯ã·ã§ã³ã¯çºçããŠããŸããïŒã å©ãã«ã¯ãªããŸããããããã»ã©ã§ã¯ãããŸããã ãã¹ã¯ãããã¯åé¡ãããŸããã§ããããé»è©±ã¯ãŸã æªãã£ãã§ãã å°ããªç»é¢ã«ãããã³ã³ãããŒã«ãäžå¿«ã«ãªããŸããã äœããããå¿ èŠããããŸããã
ããããã¢ã€ãã¢ãç§ã®é ã«æµ®ããã -ããªããã«ããããå Žåãããªãã¯ã«ããããããšãã§ããŸãïŒ ã€ãŸããç»é¢å šäœãã¹ã¯ã€ãããŸã-ããã¯ãFruit Ninjaã®å Žåãšåãã§ãã ç§ããã£ããè©Šãã-ã¯ããããã§ããïŒ ç¢ºãã«ãç匟ã¯ãŸã åãããã«çç ŽãããŸããã ãã°ããããŠãã¹ã¯ã€ãã§ãçæãããŸãã-ãã䟿å©ã§ããã æäœã®å®¹æããšã²ãŒã ã®æå¿«ãã®ããã€ãã®èšŒæ ã¯æ¬¡ã®ãšããã§ã-ç§ã¯10æ³ã®versionã«ã²ãŒã ã®ãã©ããçããã¬ã€ããã圌ã¯1æéåã§1ç®±åãééããŸããã ç§ã¯æ¬åœã«æ¯èŒãããã®ã¯äœããããŸããããå°ãªããšã倧人ã¯åé¡ãªãã²ãŒã ãç解ããå¿ èŠããããŸãã
èžè¡
ã²ãŒã å ã®ã¢ãŒãã¯äºåã«äœæãããŠããŸãã ã€ã³ã¿ãŒãããã§æã£ãç¡æã»ããããã¡ãã¥ãŒã®ã€ã³ã¿ãŒãã§ãŒã¹ãåããŸããã ç§ã¯ãŸã ãã®ãããªè¯ãã«ãžã¥ã¢ã«ãªã»ããããããŠç¡æã§ããããšã«é©ããŸããã äºæ³ãããç¡æã®ã°ã©ãã£ãã¯ã¹ã§ã¯ãååã§ã¯ãããŸããã§ããã ãããã£ãŠãGimp

ã²ãŒã ç»é¢ã®ã°ã©ãã£ãã¯ã®äžéšã¯èªåã§äœæããäžéšã¯ã€ã³ã¿ãŒãããããååŸããŸããã ããŒãã¯Gimpã§æç»ãããããã¯ã¹ã¯OpenGameArt.orgããååŸãããç匟ãè»èŒªããŸã³ãã¯ã€ã³ã¿ãŒãããããå®å šã«ããŠã³ããŒããããŸãã åãããšãã²ãŒã ã®èæ¯ã«ãåœãŠã¯ãŸããŸãã ãã¹ãŠã®åçã¯åŸåŠçãããéæãªèæ¯ã«é 眮ãããããªãã³ã°ããããµã€ãºãå€æŽãããŸããã
ãŸã³ãã«é¢ããŠã¯ã圌ã«ãšã£ãŠã¯ããå°é£ã§ããã åçå šäœãããŠã³ããŒãããæçã«åãåããŸãããããã¯ããã®åçããã©ã°ããŒã«ãäœæããªããã°ãªããªãã£ãããã§ãã ãŸã³ãã¯æãå°é£ã§èŠçãªéšåã§ãããããã¯ã²ãŒã ã®æãéçºãé ããéšåã ãšæããŸãã ã¢ãŒãã£ã¹ãã®äžè¶³ã¯ãã²ãŒã ã®ã°ã©ãã£ãã¯ã³ã³ããŒãã³ãã«å€§ããªåœ±é¿ãäžããŸããã ç§ã®ã¬ãŒã«ãã¬ã³ãã¯ãã²ãŒã ã¯ãããã«èŠãããšèšã£ã-ãããã圌女ã¯ããèšãããšãã§ããŸããã§ãã:)
Gimpã§èªåã§Google Playã®ã°ã©ãã£ãã¯ïŒã¢ã€ã³ã³ãšããã¢ãŒã·ã§ã³ç»åïŒãæããŸããã æ·åãšè£å€ã䜿çšããŠããããäœæãããŸããã

Youtubeçšã®ãããªãvokoscreenããã°ã©ã ã§èšé²ããOpenShot Video Editorããã°ã©ã ã§ç·šéïŒå¿ èŠãªéšåãåãåããé³æ¥œãæ¿å ¥ïŒããŸããã ãã®åã«ãAvidemuxïŒä»¥å䜿çšããïŒãšLiVESãè©ŠããŸãããããããªããšã¯ã¹ããŒãããããšãããšäž¡æ¹ãã¯ã©ãã·ã¥ããŸããã ãããããã®æ²ãã£ãå¶åŸ¡ã«ãããããããOpenShotã¯ç®¡çããŸããã
ããããããã«é¢ããã°ã©ãã£ãã¯ã¹ã®åé¡ã¯è§£æ±ºã§ããŸãã ã°ã©ãã£ãã¯ã¹ã¯ç§ã«ãšã£ãŠèŠçãªããã»ã¹ã§ãããã¢ãŒãã£ã¹ããããªãããã«Gimpã§ã®äœæ¥ã®åºæ¬ååãšãèªåèªèº«ã®äžå®å šãã®å®çŸãæããããŸããã
é³
ãµãŠã³ãã®äžéšã¯OpenGameArt.orgããååŸãããäžéšã¯äžèšã®ãã©ãã·ã¥ã²ãŒã ããåŒãè£ãããŸããã ãã©ãã·ã¥ãã¢ã³ããã¯ããããã«ãJavaã§æžãããäœããã®ããã°ã©ã ã䜿çšããŸãããååãèŠããŠããŸããã誰ããèå³ãæã£ãŠãããªããç§ã¯èŠãŸãã åå©ã®é³ïŒãŽã³ã°ïŒã¯ãAudacityã§ã«ãããããã€ã³ã¿ãŒãããã§èŠã€ãããŸããã 倧ããªç·åŒµã®é³ã¯ãç¹ã«ãããã®æ°ãæ¯èŒçå°ãªããæ°ååã ã£ãã®ã§ãåŒãèµ·ãããŸããã§ããã
ãã¥ãŒãžãã¯
OpenGameArt.orgã§é³æ¥œãèŠã€ããŸããã ç§ã¯ã²ãŒã ã«ãŽã£ããã®å æ°ãã£ã±ãã®ããã¯ãã©ãã¯ãèŠã€ããŸããïŒãã®é³æ¥œã§ããã¡ããéãã§ãœãã¡ã«æšªããã£ãŠããŸããïŒã äžè¬çã«ãé³æ¥œã«ã倧ããªåé¡ã¯ãããŸããã§ããã ãŸã ã«ãŒãããŠããªããã°ãªããŸããã§ããããAudacityã§ã®ç§ã®ç¥èã¯ååã§ã¯ãªããç¹ã«ã²ãŒã ãã¬ã€ã«ããŸã圱é¿ãäžããªããããæ°ã«ããããšã¯ãããŸããã§ããã
ã³ãŒã
ããã°ã©ããŒã«ãšã£ãŠæãèå³æ·±ãã³ãŒãã«ç§»ããŸãããã
ã²ãŒã ã¯Eclipseã§æžãããŠãããlibGDXçšã®ç¬èªã®ã¢ãã€ã³ãšã³ãžã³-DDEïŒDark Dream EngineïŒã䜿çšããŸããã ç§ã®ãšã³ãžã³ã®æ©èœããïŒ
-ç»é¢ã®èŠèŠçãªç·šéïŒéçºãå€§å¹ ã«å éããŸããïŒ;
-ãªãœãŒã¹ïŒãµãŠã³ããã°ã©ãã£ãã¯ã¹ïŒãžã®äŸ¿å©ãªã¢ã¯ã»ã¹-ããããé©åãªãã©ã«ããŒã«å ¥ããã ãã§ãããŒããããŸãã ããã«ããªãœãŒã¹ã®ããŒãã¯ãé 延ãã§ã-ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ãããŸã ããŒããããŠããªãå Žå-ããŒãããããã£ãã·ã¥ãããè¿ãããŸãã
-æ¡åŒµæ©èœã®ãµããŒãïŒå®éãç»é¢ã®ããžã¥ã¢ã«ãšãã£ã¿ãŒ-ããã¯æ¡åŒµæ©èœã§ãïŒ
-å®è¡ããã²ãŒã ã®è§£å床ãéžæã§ãã䟿å©ãªã¹ã¿ãŒãããã«-ãã«ãã¹ã¯ãªãŒã³ã®ãã¹ãã«äŸ¿å©ã
-ã¹ã¿ãŒãããã«ããapkãšã¢ããªã±ãŒã·ã§ã³ãã¹ã¯ãããããšã¯ã¹ããŒãããæ©èœ-ãã¹ãŠã®ãã©ã¡ãŒã¿ãŒãèšå®ãããã[åé]ãã¯ãªãã¯ããã ãã§ãã æ²ãã£ãŠåäœããããã䜿çšããŸããã§ããã
ã...ãã®ä»ã«ãããããã®ã°ããºã ãã©ããããŒãžã§ã³ãGitHubã«æçš¿ããŸããããããã¯ããªãåã®ããšã§ãããçå®ã§ã¯ãããŸããã æéãçµã€ã«ã€ããŠãç§ã¯DDEã人éã®åœ¢ã«ä»äžããäžé£ã®ãã¥ãŒããªã¢ã«ãæžããããšæã£ãŠããŸããããã€ãã®ãããžã§ã¯ãã§äœ¿çšããŸããããããã§ã䟿å©ã§ãã
ç©çåŠã§ã¯ãäºæ³ã©ãããBox2Dã䜿çšããŸãããããã¯libGDXã«éåžžã«ããçµ±åãããŠããããã質åã¯ãããŸããã§ããã ãããã°ã«ã¯ãBox2dDebugRendererã¯ã©ã¹ã䜿çšããŸãããããã«ãããç»é¢äžã®ç·ã§ç©ççãªèº«äœãèŠèŠåã§ããŸãã
æ§é çã«ãã²ãŒã ã¯æ¬¡ã®éšåã«åãããŠããŸãã
-ã¡ã€ã³ã³ã³ãããŒã©ãŒã¯ã©ã¹-ç§ã¯ããããŸã³ããšåŒã³ãŸããã ããã¯ããã¹ãŠã®ãªãœãŒã¹ãžã®ãªã³ã¯ãä¿åããã·ã³ã°ã«ãã³ã§ãã ã©ãããã§ãã¢ã¯ã»ã¹ã§ããŸãã ããã¯ç¥ã®ãªããžã§ã¯ãã ãšæããããããŸããããããã§ã¯ãããŸããã ããã¯135è¡ã®åçŽãªã¯ã©ã¹ã§ããã®90ïŒ ã¯ã²ãã¿ãŒãšã»ãã¿ãŒã§ãã ç§ãæå³ããããšãç解ã§ããããã«ãã¯ã©ã¹ã³ãŒãå šäœãæäŸããŸãã
Zombie.java
package ua.com.integer.labs.zombie; import ua.com.integer.dde.kernel.DDKernel; import ua.com.integer.dde.res.screen.AbstractScreen; import ua.com.integer.dde.res.sound.SoundManager; import ua.com.integer.labs.zombie.screen.LoadingScreen; import ua.com.integer.labs.zombie.screen.game.GameController; import ua.com.integer.labs.zombie.screen.game.Level; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; import com.badlogic.gdx.utils.Logger; public class Zombie extends DDKernel { private static Zombie instance = new Zombie(); private SpriteBatch spriteBatch; private ShapeRenderer sRenderer; private Settings sets; private Level level; private Sounds sounds; private GameController gameController; private PlatformInterface platformInterface; private Zombie() { getConfig().relativeDirectory = "../zombie-android/assets/"; } public static Zombie getInstance() { return instance; } @Override public void create() { super.create(); getResourceManager().getManager(SoundManager.class).loadAll(); Gdx.app.setLogLevel(Logger.DEBUG); gameController = new GameController(); sets = new Settings(); sounds = new Sounds(); spriteBatch = new SpriteBatch(); AbstractScreen.batch = spriteBatch; sRenderer = new ShapeRenderer(); showScreen(LoadingScreen.class); } @Override public void dispose() { super.dispose(); getResourceManager().dispose(); sRenderer.dispose(); } public void setPlayLevel(Level level) { this.level = level; } public Level getLevel() { return level; } public ShapeRenderer getShapeRenderer() { return sRenderer; } public Settings getSettings() { return sets; } public void setPlatformInterface(PlatformInterface platformInterface) { this.platformInterface = platformInterface; } public PlatformInterface getPlatformInterface() { if (platformInterface == null) { platformInterface = new PlatformInterface() { @Override public void showAds() { System.out.println("Show ads."); } @Override public void hideAds() { System.out.println("Hide ads."); } @Override public void buyUnlockAds() { System.out.println("Buy unlock ads."); } @Override public void buyLevels() { sets.setBoxesOpened(true); System.out.println("Buy levels."); } @Override public void showInterstitial() { System.out.println("Show interstitial!"); } @Override public void rateForGame() { System.out.println("Rate for game"); } @Override public void shareViaFacebook() { System.out.println("Share via facebook"); } @Override public void shareViaTwitter() { System.out.println("Share via twitter"); } @Override public void updatePurchases() { System.out.println("Update purchase state"); } }; } return platformInterface; } public GameController getGameController() { return gameController; } public Sounds getSounds() { return sounds; } }
ããã«ããªãœãŒã¹ãããŒãžã£ãŒãžã®åå²ããããŸããã ãªãœãŒã¹ã¯ãã²ãŒã å ã®ã»ãŒãã¹ãŠã®ãã®ã§ãã ããã¯ãé³ãé³æ¥œããã¯ã¹ãã£ãç»é¢-ããŒãã«åå²ããŠç·šéã§ãããã¹ãŠã®ãã®ã§ãã ãããã£ãŠããµãŠã³ããããŒãžã£ããã¯ã¹ãã£ãããŒãžã£ãã¹ã¯ãªãŒã³ãããŒãžã£ããããŸãã
ç»é¢ã«é¢ãã詳现ã 1ã€ã®ç»é¢ã¯1ã€ã®ã¯ã©ã¹ã§ãã
ã¹ãã¢ã®ã¹ã¯ãªãŒã³ã·ã§ããïŒ

ãããŠããããã·ã§ããã³ã°ã¹ãã¢ã¯ã©ã¹ã®ã¹ã¯ãªãŒã³ã³ãŒãã§ãã
StoreScreen.java
package ua.com.integer.labs.zombie.screen.menu; public class StoreScreen extends AbstractScreen { public StoreScreen() { addScreenEventListener(new ScreenListener() { @Override public void eventHappened(AbstractScreen screen, ScreenEvent event) { switch(event) { case SHOW: findByName("all-boxes").setVisible(!Zombie.getInstance().getSettings().isBoxesOpened()); findByName("no-ads").setVisible(!Zombie.getInstance().getSettings().isAdwareDisabled()); break; case BACK_OR_ESCAPE_PRESSED: getKernel().showScreen(MenuScreen.class); break; default: break; } } }); ActorUtils.deployConfigToScreen(this, Actors.getInstance().getConfig("store-screen")); findByName("back-button").addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { Zombie.getInstance().getSounds().playClick(); getKernel().showScreen(MenuScreen.class); } }); findByName("all-boxes").addListener(new ScaleActorListener(0.05f).setTime(0.1f)); findByName("all-boxes").addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { Zombie.getInstance().getSounds().playClick(); Zombie.getInstance().getPlatformInterface().buyLevels(); } }); findByName("no-ads").addListener(new ScaleActorListener(0.05f).setTime(0.1f)); findByName("no-ads").addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { Zombie.getInstance().getSounds().playClick(); Zombie.getInstance().getPlatformInterface().buyUnlockAds(); } }); } }
ã芧ã®ãšãããã³ãŒãã¯éåžžã«çãã§ãã 詳现ã¯èª¬æããã2ã3ã®ç¹ã®ã¿ã説æããŸãã
1ïŒ
ActorUtils.deployConfigToScreen(this, Actors.getInstance().getConfig("store-screen"));
-ç»é¢æ§æãå±éããŸãïŒç¬èªã®ç»é¢ãšãã£ã¿ãŒãæã£ãŠããŸããèŠããŠããŸããïŒïŒã èæ¯ããã¿ã³-ããã¯ãã¹ãŠèŠèŠçã«ãã³ã°ã¢ãããããã®è¡ã¯æ®ããè¡ããŸãã
2ïŒ
findByName("all-boxes").addListener(new ClickListener()...
-æå®ãããååã®ãªããžã§ã¯ããèŠã€ãããã³ãã©ãŒãå²ãåœãŠãŸãã ã€ã³ã¿ãŒãã§ã€ã¹ãšãã£ã¿ãŒã§æå®ãããªããžã§ã¯ãã®ååïŒlibGDXã®çšèªã§ã¯ãactorïŒã
ã€ãŸãããã®ãããªæ¥åžžçãªæäœã®äœæã¯ç§ãšäžç·ã«èªååãããã®ã§ãã²ãŒã ã«ãã£ãšéäžããããšãã§ããŸããã
軜é£
ãèåã®ãªããªããŠã²ãŒã ïŒ ãããã«ãã£ãŠç§ã¯ããªããèŠèŠçã«ã²ãŒã ãã埩掻ããããããšãå¯èœã«ããå°ããªè£ 食ãæå³ããŸãã ç§ã¯ãããã®äœåã®ããã€ããäœããŸããããããã®èª¬æã¯ä»¥äžã«ãããŸãã
ã¢ãã¡ãŒã·ã§ã³ããã¯ã¹ã åããã¯ã¹ã¯ãã©ã€ããã§ããå¿ èŠããããŸã-ããã¯ãã²ãŒã ã®ç²Ÿç·»åã®æèŠãäœæããŸãã ãã®ãããããããã«ã·ã³ãã«ãªã¢ãã¡ãŒã·ã§ã³ã®ãŠããŒã¯ãªæç»ããããŸã-æãå¢ãããæžã£ãããé è骚ãç¹æ» ããç匟ãå転ããæãäžãå転ããŸãã ãããã¯éåžžã«åçŽãªå¹æã§ãããéçºãããã¢ã¯ã·ã§ã³ã·ã¹ãã ã®ãããã§libGDXã䜿çšããã®ã¯æ¥œããããšã§ãã ããšãã°ãç¹æ» ããã¢ãã¡ãŒã·ã§ã³ãé è骚ã«è¿œå ããã³ãŒãã¯æ¬¡ã®ãšããã§ãã
findByName("head-item").addAction(Actions.forever(Actions.sequence(Actions.color(Color.WHITE, 0.4f), Actions.color(Color.BLACK, 0.4f))));
ã¢ãã¡ãŒã·ã§ã³åããããã€ã¢ãã°ã ã²ãŒã ã«ã¯ããã€ãã®ãã€ã¢ãã°ããã¯ã¹ããããŸã-åå©ãè³Œå ¥ã¬ãã«ãªã©ããããã衚瀺ããã®ã¯ãã ãã§ãã-2è¡ã®ã³ãŒãã䜿çšããŠãã¢ãã¡ãŒã·ã§ã³ã®å€èŠ³ãäœæããŸãã ããã§ããã³ãŒãã¯ã§ããã ãã·ã³ãã«ã§ãïŒ\ã衚瀺ããŠè³Œå ¥ãŠã£ã³ããŠãéããŸãïŒ-
private void hideBuyDialog() { Actor dialogContent = findByName("dialog-content"); if (dialogContent != null) { findByName("dialog-content").addAction(Actions.scaleTo(0f, 0f, 0.1f)); } } private void showBuyDialog() { Actor dialogContent = findByName("dialog-content"); if (dialogContent != null) { dialogContent.addAction(Actions.scaleTo(1f, 1f, 0.1f)); } }
èšå®ãä¿åããããã«ãå¥ã®ã¯ã©ã¹-èšå®ãéžæããŸããã ãã®ã¯ã©ã¹ãžã®ã¢ã¯ã»ã¹ã¯ãZombieã¯ã©ã¹ãéããŠååŸã§ããŸãã é³æ¥œã®ãªã³/ãªããã¬ãã«ã®è³Œå ¥ãåºåã®ãªã-ããã圌ã®ä»äºã§ãã
ã¡ã€ã³ãããžã§ã¯ãã®Androidã³ãŒããšããåãããããã«ãã€ã³ã¿ãŒãã§ã€ã¹ãïŒJavaã®çšèªã§ïŒäœæããAndroidããŒãã«å®è£ ããŠãã¡ã€ã³ãããžã§ã¯ãã«è»¢éããŸããã ã€ã³ã¿ãŒãã§ã€ã¹ã³ãŒã-
package ua.com.integer.labs.zombie; public interface PlatformInterface { public void buyLevels(); public void buyUnlockAds(); public void showAds(); public void hideAds(); public void showInterstitial(); public void rateForGame(); public void shareViaFacebook(); public void shareViaTwitter(); public void updatePurchases(); }
ã芧ã®ãšããããã©ã¡ãŒã¿ãŒã®ãªãã¡ãœããã®ã»ããã®ã¿ã§ãã 詳现ã¯ãã¹ãŠãAndroidãããžã§ã¯ãããã¹ã¯ããããããžã§ã¯ãã®ã¿ã®ã¹ã¿ãã«å®è£ ãããŠããŸãã
ã²ãŒã ç»é¢
ã²ãŒã ç»é¢ã¯ãæ®ãã®éšåã§ã¯ããè€éã§ããã ç§ã¯ãããHUDãšãã£ãžã«ã«ã«åããŸããã ã¢ãã«ã ç©çã¢ãã«ã¯Model.javaãšåŒã°ããŠããŸããã æœè±¡åãå°å ¥ãããŸãã-GameObjectã ãã®åãGameObjectã«ã¯ãç©çââããã£ãã¬ã³ããªã³ã°çšã®ã¹ãã©ã€ããããã³ã¹ãã©ã€ããã¬ã³ããªã³ã°ããããã®updateïŒïŒã¡ãœãããå«ãŸããŠããŸããã ã¢ãã«ç®¡çãªããžã§ã¯ã-è¿œå ãåé€ãupdateïŒïŒã®åŒã³åºããstart \ stop natã äžçã¯åœŒå¥³ã ãã§ãã ããçš®ã®ãããŒãžã£ãŒãå€æããŸããã
ããŸããŸãªãªããžã§ã¯ãïŒããŒã«ãããã¯ã¹ãªã©ïŒãå®è£ ããããã«ãGameObjectã®ãµãã¯ã©ã¹ãäœæãããŸããã GameObjectsãããŒãã§ããObjectLoaderãäœæãããŸããã ãããã£ãŠãæ°ãããªããžã§ã¯ããè¿œå ããå Žåã¯ãGameObjectãããµãã¯ã©ã¹ãäœæããObjectLoaderãããµãã¯ã©ã¹ãäœæããŸããã ããããããã¯å°ããªãŒããŒãããã§ãããããã«ããã²ãŒã ç»é¢ãšã¢ãã«ãæ¯èŒçãããã«ä¿ã€ããšãã§ããŸãã-æ¯èŒçå°ããªã¯ã©ã¹ã®æ°ã ããå¢ããŸããã
ã¬ãã«ãäœæããããã«ãã¬ãã«ãšãã£ã¿ãŒãäœæãããŸããã Javaã§æžããããå€ãè¯ãSwingã ã¬ãã«ã¯JSONã§ä¿åããã1ã€ã®ã¬ãã«ã®éã¿ã¯çŽ2ãããã€ãã§ãã çµã¿èŸŒã¿ã®libGDX JSONã¯ãŒã«ãŒã䜿çšããŠã\ä¿åããã¬ãã«ã1è¡ã®ãã¡ã€ã«ããããŒãããŸããã
72ã¬ãã«ãã¹ãŠãæåã§å®è¡ãããšãæ°ãçã£ãŠããŸãã®ã§ã¯ãªãããšçã£ãŠããŸãã ã¬ãã«ã®ããã²ãŒã ãäœæãã人-ãšãã£ã¿ãã§ããã ãæ©ãäœæããããšãèããã°ãhemoã¯å°ãªããªããŸãã ããã¯ããããäžè¬çãªçå®ã§ãããããã§ãã§ãã
ç©ççãªè¡çªã®åŠçãã©ã°ããŒã«ã®äœæãããŸããŸãªç»é¢è§£å床ãžã®é©å¿ã®èª¬æãªã©ãããªãã®æ°ã®ãªãŒããŒããŒããæ®ã£ãŠããŸãããããã¯èšäºã§ã¯ãªããèšäºã«åºã¥ããŠããŸãã 誰ããèå³ããããªã-ã³ã¡ã³ããæžããŠãç§ã¯äœããæãããšãã§ããŸãã ãããŠæ¬¡ã«é²ã¿ãŸãã
åçå
ä»ã®äººãšåãããã«ãç§ã¯é£ã¹ããã§ãã ãããã£ãŠãç§ã¯å°ãªããšãã²ãŒã ããã®åå ¥ã«ã€ããŠèããŸããã ã€ã³ã¿ãŒãããã§èšäºãèªãã åŸãåºåãšã²ãŒã å è³Œå ¥ã§åçåããããšã«ããŸããã
åºåã äžã®ãããŒïŒã²ãŒã ç»é¢ã«ã¯è¡šç€ºãããŸããïŒãããã³åè ã®ç»é¢ã«ã€ã³ã¿ãŒã¹ãã£ã·ã£ã«åºåïŒã€ã³ã¿ãŒã¹ãã£ã·ã£ã«åºåïŒã åºåã¯1ãã«ã§ãªãã«ã§ããŸãã
è³Œå ¥ã¬ãã«ã æåã¯ãã²ãŒã ã§2ã€ã®ããã¯ã¹ã䜿çšã§ããŸã-ããã¯ååã®ã¬ãã«ã§ãã æ®ãã¯1.99ãã«ããããŸãã ç§ã¯ã倩äºãããäŸ¡æ Œãåã£ããç§ã¯ç¥èã®ãã人ã ãããã®äž»é¡ã«é¢ããã³ã¡ã³ãã®ã¬ãã¥ãŒã§èããŠããããã§ãã
åºæ¬çã«ãããã¯ãã¹ãŠåçåã§ãã éããããã¯ã¹ãã¯ãªãã¯ãããšãããã¯ã¹ãè³Œå ¥ããããã®ãªãã¡ãŒã衚瀺ãããã¡ã€ã³ã¡ãã¥ãŒããã¢ã¯ã»ã¹ã§ããå¥ã®ã¹ãã¢ç»é¢ããããŸãã ãã®åéã§ã®çµéšã¯ããŸããããŸãããããããå°éçã«è¡ã£ãŠãã人ã ã®ã³ã¡ã³ããèªãã§ããããã§ãã
ããŒã«ãªãŒãŒã·ã§ã³
ããŒã«ã©ã€ãºã¯ããŸããã§ããã ã²ãŒã ã«ã¯æå°éã®ããã¹ããå«ãŸããŠããããããã¯äžåœãªã³ã¹ãã ãšæããŸããã ãããã£ãŠãã²ãŒã ã¯ããšããšè±èªã§ãã£ãããããã®ãŸãŸã§ããã
ããã¢ãŒã·ã§ã³
ç§ã¯ããŸãé²æ©ããŸããã§ããã ããã«æçš¿ããŸãïŒãªã³ã¯ãªãã§ã誰ã§ãæ§ããŸãã-å人ã®ã¡ãŒã«ãæžããŠãããããããŠãã ããïŒã w3bsit3-dns.comããµã€ãlibGDXããµã€ãgcup.ruã«æçš¿ããŸãã ãã©ãŒã©ã ã§ããã«å¢ããäºå®ã§ãã ãã¡ãããããã°ã«æçš¿ããŸãïŒããã«ãªã³ã¯ãæå®ã§ãããã©ããã¯ããããŸãããããã°ã¯éå¶å©ã§ãåºåã¯ãããŸãããã²ãŒã ãã«ãã«é¢ããããã°ããããããªãã®æ°ãlibGDXã«ãããŸãïŒã ç¥èã®ãã人ããã®ã¢ããã€ã¹ãåãã§ããŸãã
Google Playã«ã²ãŒã ãæçš¿ããŸããã ååãšããŠããã¹ã¯ãããããŒãžã§ã³ãçµã¿ç«ãŠãã®ã«å€§ããªå°é£ã¯ãããŸãã-ã¡ããã©ãããã©ãã«çœ®ãã®ãããªã-ç§ã¯ç¥ããŸããã 誰ãããããè¡ãã®ãçã«ããªã£ãŠãããã©ãããç¥ãããšãã§ããã°ãç§ã¯éåžžã«æè¬ããŸã
çµè«
ã²ãŒã ã«ã¯æ°é±éããããŸããã äž»ãªäœæ¥ã¯1é±éã§å®äºããŸãã-å€æ¹8æããæ3æãŸã§ã åæ©ã¯éåžžã«éèŠã§ãã åãããã«èšå®ãããŠããå Žåããã¹ãŠãéåžžã«è¿ éã«è¡ããŸãã
ããŒã ã«ã¢ãŒãã£ã¹ããããã°ãšãŠãããã§ãã ãã以å€ã®å Žåã¯ãã²ãŒã çšã®ç¡æãªãœãŒã¹ããããµã€ãããã¹ãŠã§ãã GimpãŸãã¯Photoshopãææããããšã¯éåžžã«åœ¹ç«ã¡ãŸãã ããã«ã¯ããªãŒãã£ãªããã³ãããªãšãã£ã¿ãŒã®æææš©ãå«ãŸããŸãã
ãã®ã²ãŒã ã¯ç§ã®è©Šçšãããžã§ã¯ãã§ãã ããããäœããã®ææ°ãäœããã®äººæ°ãããã®ã ãããã ã€ãŸããæ°Žã®ãããšã泚ææ·±ãè©ŠããŠã¿ãŸã-å¯ãã§ããïŒ ç§ã¯ããªãã®ã³ã¡ã³ããèããŠããããã§ãããã®äž»é¡ã«é¢ããè°è«ãæè¿ããŸãã
ã¿ããªã®ããã§ãã ãã£ãŒãããã¯ãåŸ ã£ãŠããŸãïŒ
UPDïŒæåã«ã²ãŒã ã®ãããªãè¿œå ããŸãã