[Unity5] 아이폰/안드로이드 기기올려보기 「簡単な2Dゲーム」 “2번째”

http://www.tegine.com/wordpress/?p=465

이글에 이어서 쓰는 내용입니다. (上のリンクの追加内容)

여기서 우선 미사일이 나오지 않았던 문제는…(弾丸…画像が黒画像は。。。)

스크린샷 2016-01-12 오전 1.27.44

유니티에서 안드로이드 기기 연결후 build & run 할때 셋팅 하는 부분의 Other Settings -> Preload Shaders 에 체크 표시가 꺼져 있는것을 위의 그림처럼 Check 해주면 해결된다. (이걸 몰랐으… ㅜ)

(build & runの設定する部分でOther Settings -> Preload Shaders のチェック→解決!なるほど〜〜

설정해 주면, 안드로이드 스튜디오나 이클립스 열것 없이 Unity5 가 바로 USB에 연결되어 있는 안드로이드 기기에 바로 올려준다.” (設定くれれば、Androidのスタジオや、Eclipseを 実行なくUnity5がすぐUSBに接続されているAndroid端末に直接上げてくれる。)

이 부분은 수정이 필요한게 조건이 붙는 것이다. C# 스크립트 코드에 에러가 없어야 바로 기기에 올라간다. 에러 시에는 apk 만들 경로를 물어 본다. (これは。。。C#スクリプトコードのエーラが無い場合。。。)

게임을 안드로이드 기기에서 Portrait 로 고정하고 싶은 경우에는 우측 설정 부분에서

스크린샷 2016-01-12 오전 1.27.17

이부분의 체크들을 해제해 주면 된다.

 

그리고 기초 과정 및 2D 게임 만들기에는 없었던 내용으로, 기기에 올라가면 키보드가 아니라 터치를 인식해서 Player 를 이동시켜야 하는데 그 부분 소스를 공개해 보겠다. 물론 손이 아닌 발로 짰기 때문에 정리는 필요하지만, 당장 필요한 분들은 이용해 주시기 바랍니당. ㅋㅋㅋ (나름 삽질의 결과 입니다. ㅠㅠ) 미세한 조정이 필요하긴 하지만 이동은 되더라고요…

(講義は後の検索を介して実装したコードです。)

Player.cs 에서 MoveControl() 메소드 부분을

void MoveControl ()
    {
        float horizontal = 0.0f;     //Used to store the horizontal move direction.
        float moveX;

        //****

        #if UNITY_EDITOR || UNITY_EDITOR_64 || UNITY_EDITOR_OSX

            horizontal = Input.GetAxis(Horizontal);

        #else

        if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved) {
        // Get movement of the finger since last frame
        Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
            if (touchDeltaPosition.x > gameObject.transform.position.x){
                horizontal = 1f;
            } else if(touchDeltaPosition.x < gameObject.transform.position.x) {
                horizontal = -1f;
            } else {
        horizontal = 0;
            }
        }

        #endif

        moveX = moveSpeed * Time.deltaTime * horizontal; // 프레임   리

        transform.Translate (moveX, 0, 0); // Z

        Vector3 viewPos = Camera.main.WorldToViewportPoint (transform.position);

        viewPos.x = Mathf.Clamp01 (viewPos.x);

        Vector3 worldPos = Camera.main.ViewportToWorldPoint (viewPos);

        transform.position = worldPos;

    }

이상입니다. ㅎㅎㅎ 잠 자야 겠어용. ㅋ

(ここからです。。。おやすみなさい。。。)

답글 남기기