나는 여기에 약간의 문제가있다. 나는 3 개의 컨테이너와 n 개의 노드가있는 XML을 가지고있다 ... 나는 컨테이너에 넣고 싶다. XML의 어떤 값이라도,이 값은 오래된 값일 수 없다. 컨테이너가 같은 값을하지 말았어야 ... 내가 AS3에서이 코드를 가지고 있지만 작동하지 않습니다 : S문자열 바꾸기
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;
}
}
}
에두아르도 확인이 코드 내가
if(imgactual == myXML.internas.item[someNum][email protected]){
while(imgactual == myXML.internas.item[someNum][email protected]){
someNum = Math.ceil(Math.random()*range) + minLimit;
}
imgactual = myXML.internas.item[someNum][email protected]
}else{
imgactual = myXML.internas.item[someNum][email protected]
}
someNum= Math.ceil(Math.random()*range) + minLimit;
if((imgpostactual == myXML.internas.item[someNum][email protected]) || (imgpostactual == imgactual)){
while(imgpostactual == myXML.internas.item[someNum][email protected] || imgpostactual == imgactual){
someNum = Math.ceil(Math.random()*range) + minLimit;
}
imgpostactual = myXML.internas.item[someNum][email protected]
}else{
imgpostactual = myXML.internas.item[someNum][email protected]
}
someNum= Math.ceil(Math.random()*range) + minLimit;
if((imgpreactual == myXML.internas.item[someNum][email protected]) || (imgpostactual == imgpreactual) || (imgpreactual == imgactual)){
while((imgpreactual == myXML.internas.item[someNum][email protected]) || (imgpostactual == imgpreactual) || (imgpreactual == imgactual)){
someNum = Math.ceil(Math.random()*range) + minLimit;
}
imgpreactual = myXML.internas.item[someNum][email protected];
}else{
imgpreactual = myXML.internas.item[someNum][email protected];
}
trace(imgactual);
trace(imgpreactual);
trace(imgpostactual);
을했다는이 코드
이 코드가 좋지 않으면 항상 루프가됩니다. ake a long time : S 그리고 나는 그것이 작동하지 않는다고 생각한다 : S
hmmm ok uuffle 배열의 위치가 정상입니다.하지만 다른 루프에 있습니까? 1 분마다 변화가 일어날 때마다 배열마다 다른 값을 가져야한다는 것을 상상해보십시오 : S는 항상 변경 될 때마다 내 문제입니다. 누군가는 다른 것과 같습니다 : S –
배열을 바꾸거나 다음 3 가지 원소를 취할 수 있습니다 . – Eduardo
내 코드에 오류가있는 것 같습니까? 구문 또는 logico 난 몰라 또는 내 코드 작업을 위해? –