ãã¡ãã®åç»ãå
¨ä½ãéãã¦è¦ã¾ããã
ãã¨ã½ã¼ã¹ãè¦ãããSpriteããAnimationä½ã£ã¦Animatorã®é·ç§»ä½ãå½ãã¯å®éã«ãã£ã¦ã¿ã¾ããã
åå¼·ã«ãªã£ãã®ã¯ã
- GameManagerã¯ã·ã³ã°ã«ãã³ã«ãªã£ã¦ããï¼ã·ã¼ã³ä»£ãã£ã¦ãæ°¸ç¶ï¼
å
·ä½çã«ã¯ãããªæã
ã²ã¼ã èµ·åæã¯Cameraã«Addããã¦ãLoaderãGameManagerãçæãããã§ããã
ï¼é¢ã¯ãªã¢ããã¦ã2é¢ã«é£ã¶æã«ãã·ã¼ã³ãåèªè¾¼ããã®ã§ã
ãã®æã«ã以ä¸ã®å¦çã使ã£ã¦ãGameManagerãæ°¸ç¶ããããã«ãªã£ã¦ãã
public class GameManager : MonoBehaviour { public static GameObject instance=null; void Awake() { if(instance == null) instance = this; else if(instance!=this) Destroy(gameObject); DontDestroyOnLoad(gameObject); } }
- åãå¦çã¯ãPlayerã¨Enemyãç¶æ¿ããabstractãªClassã«ãªã£ã¦ãã
ãããã¯ããã£ã¦ãããã«ããæ°ããã¾ããã
ããããããã¾ã³ããåãåãæã¯å
±éãã¦ãã®ã§ãå
±éé¨åãabstractã§è¨è¿°ãã¦ããã¦ã
ãããããç¶æ¿ãã¦ãoverrideã§methodæ¸ãæãã¦ã¾ããã
- Chopã®å¾ã¯ãIdleã«èªåçã«ãªãã®ã§ãhas exit timeãOn
ãããã¯èªåããã¾ã¾ã§ééã£ã¦ãã
ãããã¾ã§ã®Animatorã§ã¯ãä¾ãã°ãè¹´ããããã¨ãtimerã使ã£ã¦æé稼ãã§ã
ãè¹´ããçµãã£ãé ã«ãboolãfalseã«ãã¦ãIDLEã«é·ç§»ããã¦ã¾ãããã
ãèãã¦ã¿ãããè¹´ãã¢ã¼ã·ã§ã³ãçµãã£ãããèªåçã«IDLEã«é·ç§»ããããã«ãã¦ããã°
ãScriptå´ã§timerãæã¤å¿
è¦ã¯ãªãããã§ãã
ãè¹´ãã«å
¥ãå ´åãtriggerã§ããã
ãããã¯åå¼·ã«ãªãã¾ããã
- Touchå¦ç
ãããã¯å®æ©ã§åããã¦ã¿ããã§ããã
ããããªæãã®å¦çãæãåãããæã«ãåãå§ãã¨çµããã®éã®ç§»åãã¯ãã«ããã
ãå·¦å³ã¨ä¸ä¸ã©ã£ã¡ã«ç§»åãããããæ±ãã¦ãPlayerãåããã¦ããã
if(Input.touchCount>0) { Touch myTouch = Input.touch[0]; if(myTouch.phase==TouchPhase.Began) touchOrigin = myTouch.position; else if(myTouch.phase==TouchPhase.Ended && touchOrigin.x>=0) { Vector2 touchEnd=myTouch.position; float x = touchEnd.x - touchOrigin.x; float y = touchEnd.y - touchOrigin.y; touchOrigin.x=-1; if(Mathf.Abs(x)>Mathf.Abs(y)) horizontal = x>0 ? 1:-1; else vertical = y>0 ? 1:-1; } }
- å£ãé¿ãã¦ç§»åããå¦ç
ãèªåãªããã ã¨å
é¨çã«é
åãã£ã¦ãã¦ãããã§ç§»åæ¹åããã§ãã¯ãã¦ã
ãããã«åããã¦ç»åã表示ããæ¹åã§èãã¦ãã¾ãã¾ããã
ãã¨ãã«ããããå
é¨é
åã¯ç¡ããPlayerããRaycast2dãé£ã°ãã¦ã
ãç§»åã§ãããªãç§»åããã¨ããããæ¹ã§ããã
ãå
é¨ã«é
åæã¤ã¨ãç»åããããããã¦ãZombieã®Gameä½ãæã«è¦ããã ã®ã§ã
ããããããã®ããããã¾ããã
ããã®ã²ã¼ã ã®å£ã¯ãå£ããªãå¤å¨ãå£ããå
å£ãå£ããªãå
å£ã«å¥ãã¦ã¾ãã