Jump to content


Thyago Mendes

Member Since 28/06/2003
Offline Last Active 03/06/2005, 17:19
-----

Posts I've Made

In Topic: Tempo Correndo!

14/09/2004, 20:02

thiago

um pequeno exemplo, mas que pode te ajudar....
Baseado no código anterior
//Estou copiando a referência do movieClip que esta utilizando o onEnterFrame para contar o tempo
var $this:MovieClip = this;
pause_btn.onRelease = function() {
  //Copio a referência do onEnterFrame
  $this.$onEnterFrame = $this.onEnterFrame;
  //Deleto o evento onEnterFrame
  delete $this.onEnterFrame;
};
play_btn.onRelease = function(){
  //aplico ao evento a referência copiada anteriormente
  $this.onEnterFrame = $this.$onEnterFrame;
}

Espero ter ajudado

In Topic: Som.duration()

11/09/2004, 00:27

a propriedade duration retorna quantidade de milisegundos do audio associado, então você precisa dividir esse valor por mil pra chegar a quantidade de segundos do aúdio.

Transformando o valor em segundos:
var segundos:Number = Math.floor(obj_sound.duration/1000);

Tranformando o valor em minutos:
var minutos:Number = Math.floor(segundos/60);

Obtendo os segundos restantes:
var resto:Number = Math.floor(segundos%60);

Pra exibir você faria assim:
trace(minutos+":"+resto)

Exemplo prático do que foi mostrado acima:
var obj_sound:Sound = new Sound();
obj_sound.onLoad = function() {
  this.start(0, 1);
  segundos = Math.floor(this.duration/1000);
  trace("qnt de segundos "+segundos);
  minutos = Math.floor(segundos/60);
  trace("qnt de minutos "+minutos);
  resto = Math.floor(segundos%60);
  trace("qnt de segundos restantes "+resto);
  trace(minutos+":"+resto);
};
obj_sound.loadSound("som.mp3", false);

espero ter ajudado

In Topic: Flash + Asp

11/09/2004, 00:15

Você pode fazer da seguinte maneira:

No seu asp
<param name="movie" value="teste_som.swf?id=<%=Request.QueryString("variavel")%>" />
<embed src="teste_som.swf?id=<%=Request.QueryString("variavel")%>" ... />

e no flash a variável "id" estará disponível no escopo _root da sua aplicação, bastando vc se referênciar a ela assim:
_root.id

Espero ter ajudado

In Topic: Tempo Correndo!

09/09/2004, 10:25

Sem modificar sua lógica basta você calcular colocando a diferença do fps, exemplo: digamos q seu filme esteja rodando a 12 quadros por segundo.... então vc deveria fazer o calculo da seguinte maneira:

para escrever no txt
tempo.text = min_inicial/12

na comparação que checa se ele é igual a 10 segundos
++min_inicial == 10*fps

assim vc terá o valor (lembranbdo que essa calculo pode não ser preciso, vai depender do processamento do computador)

você poderia também arredondar o valor para não ficar um número muito quebrado, utilizando Math.round

tempo.text = Math.round(min_inicial/12)

abaixo segue o código com essas modificações
var min_inicial:Number = 0, seg_inicial = 0, fps:Number = 12;
this.onEnterFrame = function() {
	tempo.text = Math.round(min_inicial/fps);
	if (++min_inicial == 10*fps) {
  tempo.text = "Acabou!";
  delete this.onEnterFrame;
	}
};

//poderia também utilizar setInterval

tempo.text = 0;
var intervalo:Number = setInterval(function () {
	if (parseInt(tempo.text) == 10) {
  clearInterval(intervalo);
  trace("acabou");
	}
	tempo.text = parseInt(tempo.text)+1;
}, 1000);

espero que tenha ajudado.

In Topic: Tirar Elemento De Um Array

07/09/2004, 17:40

Opa thiago, vc pode usar o método splice... veja um exemplo de como aplicá-lo:

/*A sintáxe do splice é a seguinte:
Array.splice(indice,quantidade,Elemento1,Elemento2,...)*/

var n_array:Array = ["a", "e", "i", "o", "u"];
trace (n_array) // a,e,i,o,u
n_array.splice(2,1)
trace(n_array) // a,e,o,u

/*com o método splice vc ainda pode remover e adcionar elementos no início do array*/

n_array.splice(0,1,"1","2","3")
trace(n_array) //1,2,3,e,o,u

/*Definindo apenas o primeiro parâmetro do método (indice), siguinifica que o compilador irá remover todos os elemento dele (indice) em diante*/

n_array.splice(2)
trace(n_array) //1,2

Bons estudos

IPB Skin By Virteq