TA/Unity2013. 6. 21. 07:41

ITween Example Tutorial

 

http://hatoru.tistory.com/157

 

< 유니티 에셋 1 : ITween Example Tutorial > 

*공식 ITween Example : http://itween.pixelplacement.com/examples.php

Animating 2D(GUITextures)

-GUITextures를 이용한 2D 애니메이션를 ITween으로 구현한다.



1. 패키지를 Import 한다.
[ Assets - Import Package - Custom Package... ]



2. GUITexture의 구성

 -PresentationScreen : 빈 오브젝트 (스크립트를 여기에 Add한다)
   -iTweenLogo
   -PresentsText
   -whiteDiagonalGradient : ( 자식 오브젝트는 모두 GUITexture이다)

* PresentationScreen 활성화

* TitleScreen 비활성화

 

3. GUITexture 만들기
Create Other - GUI Texture를 이용해서 만든다

4. GUITexture 좌표
 
 각 GUITexture의 Inspector의 Pixel Insert 좌표를 화면에 보여질 위치에 설정한다. 
  - 화면 밖에서 화면 안으로 들어 오는 효과 일 경우 이 좌표는 목적지가 된다. (IN : MoveFrom()함수 사용)
  - 화면 안에서 확면 밖으로 나가는 경우 이 좌표는 시작점이 된다.  (OUT : MoveTo()함수 사용)

5. iTween의 함수 사용 법

  iTween.MoveFrom(gameObject,iTween.Hash("x",-0.4,"time",0.6,"delay",1.2));
     --
x축 -0.4에서 부터 게임오브젝트에 설정되 좌표까지
      --속도(time)는 0.6
     --이동후 1.2의 시간 만큼 애니메이션 시간을 흘려보낸다(delay)

< iTween의 해쉬 String >

Property Name Type Purpose
name string an individual name useful for stopping iTweens by name
audiosource AudioSource for which AudioSource to use
volume float or double for the target level of volume
pitch float or double for the target pitch
time float or double

for the time in seconds the animation will take to complete
애니메이션이 완료되는 시간이며 속도를 설정한다.

delay float or double for the time in seconds the animation will wait before beginning
애니메이션 시작 전 대기 시간을 설정 한다.
easetype EaseType or string for the shape of the easing curve applied to the animation
애니메이션에 적용할  완곡 곡선 설정
looptype LoopType or string for the type of loop to apply once the animation has completed
onstart string for the name of a function to launch at the beginning of the animation
onstarttarget GameObject for a reference to the GameObject that holds the "onstart" method
onstartparams Object for arguments to be sent to the "onstart" method
onupdate string for the name of a function to launch on every step of the animation
onupdatetarget GameObject for a reference to the GameObject that holds the "onupdate" method
onupdateparams Object for arguments to be sent to the "onupdate" method
oncomplete string

for the name of a function to launch at the end of the animation
애니메이션이 끝났을때 지정된 함수를 수행한다.

oncompletetarget GameObject

for a reference to the GameObject that holds the "oncomplete" method
"oncomplete"를 hold하고 있는 게임오브젝트 참조

oncompleteparams Object for arguments to be sent to the "oncomplete" method
ignoretimescale boolean setting this to true will allow the animation to continue independent of the current time which is helpful for animating menus after a game has been paused by setting Time.timeScale=0

예)
 void SwitchToTitleScreen()
{
    gameObject.SetActiveRecursively(false);  //현재 오브젝트를 비활성화 시킨다.
    titleScreen.SetActiveRecursively(true);     //다음 오브젝트를 활성화 시킨다.
}
==> 애니메이션이 끝나고 Swtich() 함수를 부르기 위한 hash String을 사용한다. 
        "oncomplete"

iTween.FadeTo(whiteDiagonalGradient,iTween.Hash("alpha",0,"time",.6,"delay",2.8,"easetype","easeincubic"
                    ,"oncomplete","SwitchToTitleScreen","oncompletetarget",gameObject));

< iTween 함수 >

구분

함수 

설명 

 Scale

scaleTo()
scaleFrom() 

 

Punches 

 punchPosition()
punchRotation()

 

Shake 

shake() 

 

Stab 

 stab()

 

Audio 

 audioTo()

 

Rotate 

roateTo()
rotateFrom()
rotateBy() 

 

Fade 

fadeTo()
fadeFrom() 

 

color 

colorTo() 
colorFrom()

 

Movement 

moveTo()
moveFrom()
moveToBezier() 

 


< iTween easing type >
링크 : http://www.robertpenner.com/easing/



6. coroutin을 이용한 활성화/비활성화
IEnumerator SwitchToPresentationScreen()
{
   yield return new WaitForSeconds(2);                   //2초간 대기한다.
    gameObject.SetActiveRecursively(false);            //현재 오브젝트 비활성화
    presentationScreen.SetActiveRecursively(true);  //활성화

}

void Update()
{
    if(Input.GetMouseButtonDown(0))  //coroutine 이 실행될 조건
    {
        StartCoroutine(SwitchToPresentationScreen());   
    }
}

'TA > Unity' 카테고리의 다른 글

SDK....빌드셋팅 한방 Xamarin...  (0) 2013.07.23
iTween Path collider 충돌시 멈추기  (0) 2013.06.21
유니티 라이트 프로브 셰이더 예제  (0) 2013.06.20
TD CameraControl C#  (0) 2013.05.09
유니티 C# 공부 모음  (0) 2013.05.07
Posted by 프리랜서 디자이너