Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Muricium

[Resolvido] rotation

Recommended Posts

Pessoal estou tentando fazer uma flor girar no eixo enquanto acontece um Tween.

 

será que consigo usar a mesma função que estou usando para o alpha? para a rotação?

 

 

import fl.transitions.Tween;
import fl.transitions.easing.*;

var anima:Tween = new Tween (flor_mc, "y", Elastic.easeOut, 0, stage.stageHeight, 20, true);

flor_mc.alpha=0;
flor_mc.rotation = 10;

flor_mc.addEventListener(flash.events.Event.ENTER_FRAME,mcEnterFrame);

function mcEnterFrame(evt:flash.events.Event) {
	if (evt.currentTarget.alpha <1) {
		evt.currentTarget.alpha += 0.1;
	}
	
	
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

mesmo

 

ficaria assim:

 

import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent


	
var anima:Tween = new Tween (flor_mc, "y", Elastic.easeOut, 0, stage.stageHeight, 20, true);

var velocidade:uint = 10;

flor_mc.alpha=0;
flor_mc.rotation = 0;
flor_mc.addEventListener(flash.events.Event.ENTER_FRAME,mcEnterFrame);

function mcEnterFrame(evt:flash.events.Event) {
	if (evt.currentTarget.alpha <1) {
		evt.currentTarget.alpha += 0.1;
	}

	if (evt.currentTarget.rotation<1)
	{evt.currentTarget.rotation += 45;
		}
	
	
}

 

Mas ele adquire o valor mas nao da o efeito de ficar girando como quero.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom consegui

deste jeito

 

import fl.transitions.Tween;
import fl.transitions.easing.*;
	
var anima:Tween = new Tween (flor_mc, "y", Elastic.easeOut, 0, stage.stageHeight, 13, true);

var velocidade:uint = 10;

flor_mc.alpha=0;

flor_mc.addEventListener(flash.events.Event.ENTER_FRAME,mcEnterFrame);

function mcEnterFrame(evt:flash.events.Event) {
	if (evt.currentTarget.alpha <1) {
		evt.currentTarget.alpha += 0.1;
	}

	 evt.currentTarget.rotation +=velocidade;
	 
	 if (evt.currentTarget.y >= stage.stageHeight - 23)
	 {
		 evt.currentTarget.rotation -= velocidade}
	}

Não sei se é o melhor mas esta funcionando e como posso fazer para ela ao inves de parar de uma vez ir parando aos poucos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usa um fator de desaceleração:

 

Exemplo:

 

function mcEnterFrame(evt:flash.events.Event) {
	if (evt.currentTarget.alpha <1) {
		evt.currentTarget.alpha += 0.1;
	}
	
	//desaceleração aqui
	velocidade *= 0.9;

	evt.currentTarget.rotation +=velocidade;
	
	if (evt.currentTarget.y >= stage.stageHeight - 23)
	{
		evt.currentTarget.rotation -= velocidade}
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.