• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

watt

existem thread no actionscript 2.0?

10 mensagens neste tópico

Boas pessoal!

Estou a dar os 1ºs passos no actionscript e ando á procura de algo que se pareça com threads... isto pq consegui ligar o meu flash ao meu servidor tcp/ip feito em c#, este envia coordenadas para o flash, mas depois queria arranjar forma de as peças se moverem calmamente para o ponto de destino, Como posso fazer isso ??? alguém me sabe dizer ?

Estou a ficar cheio de pica para programar isto Td :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não sei bem o que queres dizer, mas aqui vai uma tentativa para te ajudar...

para mexer calmamente peças (movieclips) de um lado para o outro podes usar a class Tween do flash.

var myTween:Tween = new Tween("myPeça", Strong.easeIn, val1, val2, 3, true);

descrição:

myTween - nome da variavel Tween;

"myPeça" - nome da instance do teu movieClip;

Strong.easeIn - tipo de ease que queres, podes escolher entre outros que veem com a class, ou ate podes extender a class Tween com mais eases...

val1 - coordenada inicial da peça (valor enviado pelo teu servidor tcp/ip feito em c#)

val2 - coordenada final da peça (valor enviado pelo teu servidor tcp/ip feito em c#)

3 - tempo em segundos da animação;

true - quer dizer que o tempo é em segundos, se tiver false, quer dizer que o tempo é por frames.

espero que te ajude, alguma duvida, avisa :)

:smoke:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

thks pela resposta, só a vi hoje, logo vou ver se consigo testar. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não estou a conseguir... tenho o seguinte codigo:

XMLSocket.prototype.onData = function(msg)

{

var myStringArray = msg.split(",");

msgArea.htmlText = msg;

/* BOLA._x = myStringArray[0];

BOLA._y = myStringArray[1];*/

var myTween:Tween = new Tween("BOLA", Strong.easeIn, myStringArray[0], myStringArray[1], 3, true);

}

Não sei bem o que queres dizer, mas aqui vai uma tentativa para te ajudar...

para mexer calmamente peças (movieclips) de um lado para o outro podes usar a class Tween do flash.

var myTween:Tween = new Tween("myPeça", Strong.easeIn, val1, val2, 3, true);

descrição:

myTween - nome da variavel Tween;

"myPeça" - nome da instance do teu movieClip;

Strong.easeIn - tipo de ease que queres, podes escolher entre outros que veem com a class, ou ate podes extender a class Tween com mais eases...

val1 - coordenada inicial da peça (valor enviado pelo teu servidor tcp/ip feito em c#)

val2 - coordenada final da peça (valor enviado pelo teu servidor tcp/ip feito em c#)

3 - tempo em segundos da animação;

true - quer dizer que o tempo é em segundos, se tiver false, quer dizer que o tempo é por frames.

espero que te ajude, alguma duvida, avisa :D

:smoke:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ooops!  :wallbash: sorry, my mistake:

import mx.transitions.Tween;
import mx.transitions.easing.*

var myTween:Tween;

myTween = new Tween(BOLA, "_x", Strong.easeIn, myStringArray[0], myStringArray[1], 3, true);  //para o movimento em X;
myTween = new Tween(BOLA, "_y", Strong.easeIn, myStringArray[0], myStringArray[1], 3, true);  //para o movimento em Y;

/*descriçao:
//myTween = nome do objecto tween;
//BOLA = nome da instancia; 
// "_x" = propriedade a ser afectada;
//Strong.easeIn - tipo de ease que queres, podes escolher entre outros que veem com a class, ou ate podes extender a class Tween com mais eases...
//myStringArray[0] - coordenada inicial da peça (valor enviado pelo teu servidor tcp/ip feito em c#);
//myStringArray[1] - coordenada final da peça (valor enviado pelo teu servidor tcp/ip feito em c#);
//3 - tempo em segundos da animação;
//true - quer dizer que o tempo é em segundos, se tiver false, quer dizer que o tempo é por frames.
*/

certifica-te so de que o teu array (myStringArray) contém numeros e nao strings, senao ele nao passa a animação...

Se nao funcionar, diz

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hello já deu :D

agora estava a tentar fazer um array com 33 espaços, que se iram corresponder a 22 jogadores e á bola de futebol ... como é que iria fazer isso nesta situação.

ActionScript tem muitos pormenores que eu tenho dificuldades em perceber.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

deduzo que esses 33 espacos, sejam as posicoes que cada um dos 22 jogadores (+ bola) possam ocupar?

Se assim for, podes sempre passar esse Tween por um loop...

Nao consgio perceber bem a tua duvida, podes explicar melhor? :D

ActionScript é uma linguagem de script, é muito básico mesmo; daí o pessoal que vem de outras linguagens ficar uma beca à rasca quando pega nisto (até eu ainda me passo às vezes...)

Mas se tens experiencia em C# se calhar seria melhor começares a aprender actionScript3.0 que ja tem um bocado mais a haver com uma linguagem de programação propriamente dita (OOP por exemplo...)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois eu já li isso algures, só q estou a trabalhar com sockets, e o q fiz não trabalha no 0.3.

deduzes bem os 33 espaços serão as coordenadas de 22 jogadores e uma bola.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas,

var motion:Tween;
for var(i:Number = 0; i < posArray.length; i++)
{
   for(var j:Number = 0; j < playersArray.length; j++)
   {
      motion = new Tween(playerArray, "_x", Strong.easeOut, playersArray[jj]._x, posArray[i][0], 2, true);
      motion = new Tween(playerArray, "_y", Strong.easeOut, playersArray[jj]._y, posArray[i][1], 2, true);
   }
}

bem, vamos la tentar explicar isto:

posArray: corresponde ao teu array de 33 espacos (x e y);

playersArray: corresponde aos jogadores que tens (22);

Nao faco a minima ideia se isto te serve ou nao, ou se funciona sequer... mas tenta ai e manda feed back

:(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hello!

o meu projecto está um pouco atrasado, talvez para a semana que vem aplique o teu código, depois digo-te kalker coisa.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora