質問するログイン新規登録

質問編集履歴

2

「実現したいコト」修正、「実施内容の概要」追加

2018/07/02 01:24

投稿

covajiro
covajiro

スコア6

title CHANGED
File without changes
body CHANGED
@@ -1,23 +1,42 @@
1
1
  【実現したいコト】
2
- 任意のオブジェクトAに別のオブジェクトB(9slice済)が近づいた際に、BがAのサイズに合わせて吸着する。
2
+ 任意のオブジェクトAに別のオブジェクトB(9slice済)が近づいた際に、BがAのサイズに合わせて吸着するアニメーションの実装
3
- →オブジェクトAに対して一回り大きなColliderを設置し、OnMouseイベントでション、大きさを変えるアニメーションを実施するスクリプトを作成したいです。
3
+ →オブジェクトAに対して一回り大きなColliderを設置し、衝突イベントでオブェクトBの座標位置、大きさを変えるアニメーションを実施するスクリプトを作成したいです。
4
4
 
5
5
  【発生している問題・エラーメッセージ】
6
6
  Animationタブのプロパティ:Sprite Renderer.SizeがMissing!になり、オブジェクトBの大きさが変わらない
7
+ → **Missing!にならない解決法(スクリプト)をご教授いただきたいです。**
7
8
 
9
+ 【実装内容の概要】
10
+ ■オブジェクトA
11
+ ・Start()
12
+ ①オブジェクトBのオブジェクト取得
13
+ ②オブジェクトBのコンポーネント(Script)取得
14
+
15
+ ・オブジェクトBのCollider内侵入()
16
+ ①オブジェクトBの移動先をオブジェクトBのコンポーネント(スクリプト)に通知
17
+ ②オブジェクトBのCollider内侵入時のアニメーション関数呼び出し
18
+
19
+ ■オブジェクトB
20
+ ・Start()
21
+ ①コンポーネント(Animation)生成
22
+
23
+ ・Collider内侵入時のアニメーション関数()
24
+ ①AnimationClip生成
25
+ ②AnimationCurve生成
26
+ ③Animationタブのプロパティ:localPosition.xの設定
27
+ ④Animationタブのプロパティ:localPosition.yの設定
28
+ ⑤Animationタブのプロパティ:Sprite Renderer.Size.xの設定 → 【該当のソースコード】参照
29
+ ⑥Animationタブのプロパティ:Sprite Renderer.Size.yの設定
30
+ ⑦アニメーション再生
31
+
8
32
  【該当のソースコード】
9
33
  言語名:C#
10
34
  ```C#
11
35
  curve = AnimationCurve.Linear(0.0f, 0.8f, 0.3f, 3.5f);
12
- clip.SetCurve(””, typeof(SpriteRenderer
36
+ clip.SetCurve(””, typeof(SpriteRenderer), ”size.x”, curve);
13
- ), ”size.x”, curve);
14
37
  ※size.yも同様
15
38
  ```
16
39
 
17
40
  【試したコト】
18
41
  ①Transformの”localPosition”、”localScale”は問題なく動作
19
- ②Unity5のスクリプトリファレンスにのSpriteRendererにsize変数がなかったため、2018でも確認したが変わらず
42
+ ②Unity5のスクリプトリファレンスにのSpriteRendererにsize変数がなかったため、2018でも確認したが変わらず
20
-
21
- 【その他】
22
- アニメーションのプロパティの階層のパスによるものだと思いますが、スクリプトから設定したパスを変更する手段が分かりません。
23
- ご教授頂きたいです。

1

2018/07/02 01:24

投稿

covajiro
covajiro

スコア6

title CHANGED
File without changes
body CHANGED
@@ -7,11 +7,12 @@
7
7
 
8
8
  【該当のソースコード】
9
9
  言語名:C#
10
- ————————
10
+ ```C#
11
11
  curve = AnimationCurve.Linear(0.0f, 0.8f, 0.3f, 3.5f);
12
12
  clip.SetCurve(””, typeof(SpriteRenderer
13
13
  ), ”size.x”, curve);
14
14
  ※size.yも同様
15
+ ```
15
16
 
16
17
  【試したコト】
17
18
  ①Transformの”localPosition”、”localScale”は問題なく動作