質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

1回答

2721閲覧

DoTweenPro でパス曲線を指定した後、AutoPlayはさせず、任意のタイミングでスクリプトから移動を開始させたい

usagi3kaku

総合スコア9

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2020/03/24 06:36

##シーン開始時は別のスクリプトで制御されている移動を、任意のタイミングでDotweenによるパス移動に切り替えたい。

###試したこと①
DoTweenProの「DoTweenPath」コンポーネントでパスの曲線を引き、
インスペクタのAutoPlayの項をオフにしておき、
iDの項に「id1」と設定して、
スクリプトから

GetComponent<DOTween>().TweensById("id1").Play();

として移動開始させようとすると、

CS0176 インスタンス参照でメンバー'DOTween.TweensById(object, bool, List<Tween>)'にアクセスできません。 代わりに型名を使用してください

というエラーが出てしまいます。


###試したこと②
設定したiDもパスも「DOTweenPath」コンポーネントの方で指定したものなので、そちらなのでは?と思い

GetComponent<DOTweenPath>().TweensById("id1").Play();

としてみたのですが、

CS1061 'DOTweenPath' に 'TweensById' の定義が含まれておらず、 型 'DOTweenPath' の最初の引数を受け付けるアクセス可能な拡張メソッド 'TweensById' が見つかりませんでした。 using ディレクティブまたはアセンブリ参照が不足していないことを確認してください。

というエラーが出ました。

usingについてはコード冒頭でusing DG.Tweening;としてあるのですが、「DOTweenPath」に適合するネームスペースではないのかもしれません。
「DOTweenPath」クラス自体のスクリプトが編集できない設定になっているようで、エディタで開いてみることもできません。


6時間ほどグーグル検索で調べつつ試行錯誤していたのですが、
DoTweenでのコードに関する記事は「Proでない無印のDoTween」に関してのものばかりで、
そもそもDoTweenProにも適用できるものなのかも良くわからなくなってきてしまいました。


ここで記述したコードの修正案や、代替案などございましたら、ご教示をお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自分が誤解してたら申し訳ないのですが、TweensById()はstaticメソッドなのでインスタンスからの呼び出しはできないのではないかと思います。
少なくとも自分の環境だと以下のコードで、おそらくですが質問者様の意図している挙動は実現できています。

cs

1using DG.Tweening; 2using UnityEngine; 3 4public class HogeComponent : MonoBehaviour 5{ 6 Tween tween; 7 8 void Start() 9 { 10 tween = DOTween.TweensById("id1")[0]; 11 } 12 13 //なんらかのトリガー 14 public void onClick() 15 { 16 tween.Play(); 17 } 18 19} 20

投稿2020/03/25 16:08

ShintaroNomiya

総合スコア94

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

usagi3kaku

2020/03/28 07:54

反応が遅くなってしまい申し訳ありません。 スタティックメソッドはインスタンスからは参照できないものなのですね。 しばらくコードに向き合える時間がとれないので、時間が取れ次第、試してみたいと思います。 取り急ぎお礼を申し上げます。 ご回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問