Buenas he estado probando unas cosas pero al parecer estoy algo falto de practica queria saber q me recomiendan o q tip me dan para completar este script q se q es sencillo pero mi logica anda fallando hehehe.... bien lo que quiero hacer es q supongamos q tengo 3 contenedores de informacion en los cuales tendran como contenido diferentes valores, valores q deben ser distintos tanto entre ellos 3 como en su valor anterior :) bien aqui tengo algo q he intentad pero no me da resultado
Código:
package
{
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.text.TextField;
public class Pruebas extends Sprite
{
public var arr:Array = new Array("valor0","valor1","valor2","valor3","valor4","valor5")
public var str1:String=arr[0];
public var str2:String=arr[1];
public var str3:String=arr[2];
public var te1:TextField = new TextField();
public var te2 :TextField = new TextField();
public var te3 :TextField = new TextField();
public var btn :MovieClip = new MovieClip();
public function Pruebas()
{
te1.text = str1;
te2.text = str2;
te3.text = str3;
addChild(te1);
addChild(te2);
addChild(te3);
te2.x = 50;te3.x=100;
btn.graphics.beginFill(0xff00ff);
btn.graphics.drawCircle(151,150,15);
addChild(btn);
btn.addEventListener(MouseEvent.CLICK,cambiar);
}
public function cambiar(e:Event):void{
var minLimit:uint = 0;
var maxLimit:uint = arr.length-1;
var range:uint = maxLimit - minLimit;
var someNum:Number = Math.ceil(Math.random()*range) + minLimit;
if(str1 == arr[someNum]){
while(str1 == arr[someNum]){
someNum = Math.ceil(Math.random()*range) + minLimit;
}
str1 = arr[someNum];
}else{
str1 = arr[someNum];
}
someNum= Math.ceil(Math.random()*range) + minLimit;
if(str2 == arr[someNum]){
while(str2 == arr[someNum]){
someNum = Math.ceil(Math.random()*range) + minLimit;
}
str2 = arr[someNum];
}else{
str2 = arr[someNum];
}
someNum= Math.ceil(Math.random()*range) + minLimit;
if(str3 == arr[someNum]){
while(str3 == arr[someNum] || str3 ==str1 || str3 == str2){
someNum = Math.ceil(Math.random()*range) + minLimit;
}
str3 = arr[someNum];
}else{
str3 = arr[someNum];
}
te1.text = str1;
te2.text = str2;
te3.text = str3;
}
}
}
suponiendo q los 3 contenedores son te1,te2 y te3 sus contenidos son str1,str2 y str3 respectivamente la cuestion q debe pasar es q cada vez q yo de click en el btn q es un Mc simple un circulo, asi pues este evento debera cambiar los valores de los contenidos de te1,2 y 3 a sus nuevos valores pero tomando en cuenta que los nuevos valores tienen q ser distintos al suyo mismo actual y al del valor de los otros dos contenedores agradeceria que el que desee brindar ayuda lo haga de buena manera y no poniendo buscalo en google o haciendo comentarios despectivos heheh muchas gracias espero pronta respuesta