Mercurial > hg > Game > Games
comparison Orchestland/Assets/LeapMotion/DemoResources/Scripts/FlowerBloom.cs @ 1:f7675884f2a1
Add Orchestland project
author | Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 17 Jul 2015 23:09:20 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:347d21cdfc22 | 1:f7675884f2a1 |
---|---|
1 /******************************************************************************\ | |
2 * Copyright (C) Leap Motion, Inc. 2011-2014. * | |
3 * Leap Motion proprietary. Licensed under Apache 2.0 * | |
4 * Available at http://www.apache.org/licenses/LICENSE-2.0.html * | |
5 \******************************************************************************/ | |
6 | |
7 using UnityEngine; | |
8 using System.Collections; | |
9 | |
10 public class FlowerBloom : MonoBehaviour { | |
11 | |
12 public AnimationCurve openCurve; | |
13 public float openAngle = -47; | |
14 public float closeAngle = 100; | |
15 public float openTime = 1.0f; | |
16 public float closeTime = 1.0f; | |
17 public bool open = false; | |
18 | |
19 public HingeJoint[] pedals; | |
20 | |
21 private float phase_ = 1.0f; | |
22 | |
23 void Update() { | |
24 if (open) | |
25 phase_ += Time.deltaTime / openTime; | |
26 else | |
27 phase_ -= Time.deltaTime / closeTime; | |
28 | |
29 phase_ = Mathf.Clamp(phase_, 0.0f, 1.0f); | |
30 | |
31 float percent_done = openCurve.Evaluate(phase_); | |
32 float angle = closeAngle + percent_done * (openAngle - closeAngle); | |
33 | |
34 foreach (HingeJoint hinge in pedals) { | |
35 JointSpring spring = hinge.spring; | |
36 spring.targetPosition = angle; | |
37 hinge.spring = spring; | |
38 } | |
39 } | |
40 } |