FC2ブログ
    08 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 10

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【Unity】指の動きに合わせてオブジェクトを横に動かしてみたよ 

    こんにちは。大坂です。

    さむいっすね!冬ですね!

    ポケットガールの予約はさすがに伸びは悪くなりましたが両OSで9,000件超えましたね!すごい!!
    今週中には10,000件いけそうだす!だす!!お願いいって!!!
    ということで予約まだの方は予約してみてください!!

    Android : http://yoyaku-top10.jp/u/a/ODY2NA
    iOS : http://yoyaku-top10.jp/u/a/ODY2NQ


    ネタはちょっと前に作ったアプリでネタを絞り出した感。
    使いどころはブロックくずしだとかエアホッケー的なのとか…
    使えるのか…?

    コードだけ投下。改行が見にくかったらごめんなさい。
    using UnityEngine;
    using System.Collections;
    public class BarController : MonoBehaviour {

    // 動かしたいオブジェクトをインスペクタで指定
    public GameObject bar;

    private Vector3 screenPoint;
    private Vector3 offset;

    void OnMouseDown() {
    // バーの位置をメインカメラから見た時の座標に変換して取得
    this.screenPoint = Camera.main.WorldToScreenPoint (bar.transform.position);
    // バーの中心位置からタップ位置の差(offset)を取得
    this.offset = bar.transform.position
    - Camera.main.ScreenToWorldPoint (
    new Vector3 (Input.mousePosition.x, screenPoint.y, screenPoint.z));
    }

    void OnMouseDrag() {
    // 現在のタップ位置を取得。y軸z軸は動かさないのでバーの位置で取得
    Vector3 currentScreenPoint =
    new Vector3 (Input.mousePosition.x, screenPoint.y, screenPoint.z);
    // タップ位置+offsetを取得
    Vector3 currentPosition =
    Camera.main.ScreenToWorldPoint (currentScreenPoint) + this.offset;
    // バーの位置を更新
    bar.transform.position =currentPosition;
    }
    }
    あとは動く範囲チェックしたりすれば自分が動かしたい範囲で動かせるんじゃないでしょうか。

    と今作ってるものとは何も関係なネタでしたっと。

    ではではまた来週~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/159-da5b3049
    この記事にトラックバックする(FC2ブログユーザー)