Ir para conteúdo

POWERED BY:

Arquivado

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

Gisa_iagami

roleta

Recommended Posts

Galera eu transformei uma roleta em mcDentro dela contem mais 6 mcs q eu quero que gire por um periodo de tempo XQuero q ao parar o local onde a seta apontar chame um mcEu ja fiz toda a programação exceto essa da roleta rodarAlguem sabe como posso fazer isso?tipo roleta de cassino mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, primeiramente você deerá fazer a sua Roleta com o Ponto de Registro no meio do seu MC ao invez de ser no Canto Superior, ai você deverá utilizar a propridade _rotation de seu MC !!!A parte PUNK que eu não sei como é fazer a Roleta girar com uma determinada força e ir parando aos poucos !!!Isso você teria que ter uma variavel que vá diminuindo de acordo com o numero de voltas da roleta, e a rotação esta diretamente relacionada a este numero !!!!Bom, o que posso te ajudar por enquanto é isso !!!Boa sorteEduardo Burko

Compartilhar este post


Link para o post
Compartilhar em outros sites

Completando com a parte "punk":

 

//velocidade inicialvar velocidade = 20;//a fricção é sorteada para que a roleta não pare sempre no mesmo lugarvar friccao = Math.random() / 3 + .2;roleta_mc.onEnterFrame = function() {		//desacelerando	velocidade -= friccao;		//fazendo o movimento da roleta	this._rotation += velocidade;		//se velocidade chegar a 0, parar de rodar	if (velocidade <= 0) {		delete this.onEnterFrame;	}};

Flw http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi deu certinhooooo

Agora minhas duvidas (mais pra variar)

meu mc ele parece uma pizza

E ta dentro do mc roleta

Entao imaginemos

Um circulo (meu mc principal) e dentro dele as fatias da pizza com 4 itens dispostos em cruz. (4 mcs)

Eu coloquei o codigo:

//velocidade inicialvar velocidade = 25;//a fricção é sorteada para que a roleta não pare sempre no mesmo lugarvar friccao = Math.random() / 3 + .2;roletrando.onEnterFrame = function() {		//desacelerando	velocidade -= friccao;		//fazendo o movimento da roleta	this._rotation += velocidade;		//se velocidade chegar a 0, parar de rodar	if (velocidade <= 0) {		delete this.onEnterFrame;	}};if(this.hitTest(roletrando.bacem)){	trace("saiu bacem");};if(this.hitTest(roletrando.cvm)){	trace("saiu cvm");};if(this.hitTest(roletrando.cmn)){	trace("saiu cmn");};if(this.hitTest(roletrando.bndes)){	trace("saiu bndes");};
Apenas para detectar a colisao ou seja, o mc q para na minha seta q ta no root para assim acionar o mc q vem a seguir.

Mas o mesmo nao du resultado

Como eu faria isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro você tem que fazer essa verificação com o mc da seta, e não com o seu mc principal, como me parece. (ao invés de colocar um 'this' no if, coloque o nome da sua seta)E outra: faça a verificação apenas quando terminar de rodar a roleta. ;)Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antonio seria isso?

Mas nao deu resultado =/

//velocidade inicialvar velocidade = 25;//a fricção é sorteada para que a roleta não pare sempre no mesmo lugarvar friccao = Math.random() / 3 + .2;roletrando.onEnterFrame = function() {		//desacelerando	velocidade -= friccao;		//fazendo o movimento da roleta	this._rotation += velocidade;		//se velocidade chegar a 0, parar de rodar	if (velocidade <= 0) {		delete this.onEnterFrame;		if(seta.hitTest(roletrando.bacem)){	trace("saiu bacem");};if(seta.hitTest(roletrando.cvm)){	trace("saiu cvm");};if(seta.hitTest(roletrando.cmn)){	trace("saiu cmn");};if(seta.hitTest(roletrando.bndes)){	trace("saiu bndes");};	}};

Compartilhar este post


Link para o post
Compartilhar em outros sites

o mc seta esta no roote o action tbcara falha minhamas aconteceu algo q nao poderia acontecercaiu no meio e ai ele ativo os doisnao podecomo faria para sanar isso?editando: sempre ta saindo 2 ao inves de 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ha, que azar.

 

Mas sabe o que eu acho que está acontecendo? Ele está pegando todo o quadrado que fica em volta de cada parte, e não só a forma, o conteúdo do mc. Sabe quando você clica na "fatia" da roleta e aparece aquele quadrado azul? Então, o flash está detectando toda essa área. Pra resolver, troca o if para:

 

if (roletrando.bacem.hitTest(x, y, true) {

 

Sendo que o x e o y tem que ser o x e y da pontinha da sua seta, apenas a parte que toca a roleta.

 

Até

Compartilhar este post


Link para o post
Compartilhar em outros sites

troquei o codigo

acho q era isso mesmo q tava acontecendo mas tb nao funciona

meu codigo

//velocidade inicialvar velocidade = 25;var x=366.5;var y=174.6;//a fricção é sorteada para que a roleta não pare sempre no mesmo lugarvar friccao = Math.random() / 3 + .2;roletrando.onEnterFrame = function() {		//desacelerando	velocidade -= friccao;		//fazendo o movimento da roleta	this._rotation += velocidade;		//se velocidade chegar a 0, parar de rodar	if (velocidade <= 0) {		delete this.onEnterFrame;		if(seta.hitTest(x, y, true)){	trace("saiu bacem");};if(seta.hitTest(x, y, true)){	trace("saiu cvm");};if(seta.hitTest(x, y, true)){	trace("saiu cmn");};if(seta.hitTest(x, y, true)){	trace("saiu bndes");};	}};

E detalhe a seta no layout onde colocarei ficara do lado mas nao estara em contato

Da pra dar hittest com algo invisivel?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra q serve bacem?

eu troquei exatamente mas continua dando errado

simplesmente o trace num funfa mais

//velocidade inicialvar velocidade = 25;var x=366.5;var y=174.6;//a fricção é sorteada para que a roleta não pare sempre no mesmo lugarvar friccao = Math.random() / 3 + .2;roletrando.onEnterFrame = function() {		//desacelerando	velocidade -= friccao;		//fazendo o movimento da roleta	this._rotation += velocidade;		//se velocidade chegar a 0, parar de rodar	if (velocidade <= 0) {		delete this.onEnterFrame;	if (roletrando.bacem.hitTest(x, y, true)) {	trace("saiu bacem");};if (roletrando.bacem.hitTest(x, y, true)) {	trace("saiu cvm");};if (roletrando.bacem.hitTest(x, y, true)) {	trace("saiu cmn");};if (roletrando.bacem.hitTest(x, y, true)) {	trace("saiu bndes");};	}};

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Citar

Sendo que o x e o y tem que ser o x e y da pontinha da sua seta, apenas a parte que toca a roleta.

1: troque o que eu chamei de x e y, pelo x e y da sua setinha (ou de onde você quer testar o lugar que parou)2: não faça todos os ifs com o mc "bacem", use um if para cada movie clip que você tem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza deu certo

inclusive eu ja tinha colocado ele la em cima na variavel x e y

o codigo ficou assim:

//velocidade inicialvar velocidade = 25;var x=366.0;var y=196.9;//a fricção é sorteada para que a roleta não pare sempre no mesmo lugarvar friccao = Math.random() / 3 + .2;roletrando.onEnterFrame = function() {		//desacelerando	velocidade -= friccao;		//fazendo o movimento da roleta	this._rotation += velocidade;		//se velocidade chegar a 0, parar de rodar	if (velocidade <= 0) {		delete this.onEnterFrame;	if (roletrando.bacem.hitTest(x, y, true)) {	trace("saiu bacem");};if (roletrando.cvm.hitTest(x, y, true)) {	trace("saiu cvm");};if (roletrando.cmn.hitTest(x, y, true)) {	trace("saiu cmn");};if (roletrando.bndes.hitTest(x, y, true)) {	trace("saiu bndes");};	}};

Vou abrir um outro topico pq a questao é diferente

 

So me tira a duvida do transparente?

Ja q no layout ele nao vai enconstar tem como fazer? nem q seja gambiarra

brigado antonio meu anjo

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.