FC2ブログ
    09 «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.31.» 11

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

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

     

    【Unity】iTween使ってますよ? 

    こんにちは!っと、坂内でっすよ。

    リジェクト祭りの真っ最中です!
    ルナダンiOS版、もうしばらくお待ちください!

    そして、今週中にでもAndroid版ルナダンに最新バージョン入ります。
    えっと、下層クリアの人のみ対象のアップデートですが・・・テヘ
    あ、あと、スクロール系の速度上げました。

    で、開発ネタ。

    UnityでiTween使ってるんですが、ちょっと困ったことが・・・

    「A地点にMoveTo」中に、B地点をタップでB地点に動かそうとした時。
    今現在の「A地点にMoveTo」を一旦iTween.Stop()で止めたんですが、うまく止まらんのですよ・・・
    ①動き始め
    iTween.MoveTo(gameObject,iTween.Hash("x",A地点,"time",5f,"oncomplete","止まる処理"
    ,"oncompletetarget",gameObject));

    ②動いてる途中(3秒目くらいとかに)
    iTween.Stop();
    iTween.MoveTo(gameObject,iTween.Hash("x",B地点,"time",2f));

    ってやると、③を動き始めた途端、①のoncompleteの処理が動いてしまう(止まる処理が動く)。

    で、よくわからんかったので、以下のようにしてみたら、期待していた動きになりました。(タブン)
    ②動いてる途中(3秒目くらいとかに)
    iTween.Stop();
    if(gameObject.GetComponent<iTween>()){
    Destroy(gameObject.GetComponent<iTween>());
    }
    iTween.MoveTo(gameObject,iTween.Hash("x",B地点,"time",2f));

    「iTween.Stop();」だけでは、だめなんす?ってか、これで本当にいいんす?
    もうちょっと、試してみるっす!

    ってことで、本日のお題は終わりんぐ!

    アデュ~ノシ

    そして追記:Twitterでnarudesign様より指摘がありましたので、追記しちゃいます!
    iTweenの動作中、Stop()にてちゃんと止まります!こちらでも確認しました!
    if(gameObject.GetComponent<iTween>()){
    Destroy(gameObject.GetComponent<iTween>());
    }
    は、いらないようですね。
    それと、Stop(対象のオブジェクト)の引数が入っていませんでした。
    こちら引数無しの場合ですと、全てのGameObjectで動いているiTweenの動きが止まるようです!

    ただし・・・・今触っているプログラムでは次のMoveTo中に変な動きをしてしまいます・・・これは調査が必要でっす!って話でした!
    narudesign様ありがとーっす!

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

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