В настоящее время я работаю над игрой с другом, и мне нужна помощь с некоторым кодом ... В моей игре я хочу, чтобы шары отображались на экране, но в определенном порядке, поэтому я создали списки, которые решат, где икрой шары, и какой цвет. Пример:AS3 Game spawn mechanics
var a:Array = [["green", "red", "blue", "purple"],
["orange", "red", "yellow", "black"],
["green", "green", "blue", "pink"]]
В интер массивы из-за того, я хочу, чтобы они появляются в (начиная от дна). Я выяснил, как порождать все яйца, но когда они появляются, они появляются друг на друга. Может кто-нибудь, пожалуйста, помогите мне с этим? Благодаря! (Я делаю это вспышки кстати)
код у меня есть:
import flash.events.Event;
stage.addEventListener(Event.ENTER_FRAME, main);
// Variabels
var row1:Number = 92.25;
var row2:Number = 243.30;
var row3:Number = 394.30;
var row4:Number = 547.35;
var pattern:Array = pattern1;
/*
var array:Array = pattern.reverse();
var rows:Number = pattern1.length;
*/
//trace(pattern.reverse());
//Frame counter
var frame:Number = 0;
function main(e:Event):void {
make(pattern.reverse(), pattern.length);
trace(pattern);
}
function make(array:Array, rows):void {
//Count frames
frame += 1;
//trace(frame);
if (frame % 30 == 0) {
//Go thrugh the rows
for (var r = 0; r<rows; r+=1) {
//trace(array[r]);
//Go thrugh the lists
for (var i = 0; i <= 3; i+= 1) {
spawnBall(array[r][i], i);
}
}
}
/*
// Go through each row
for (var r = 0; r <= rows; r += 1) {
}
// Go through the list and spawn;
for (var i = 0; i <= 3; i+=1) {
spawnBall(array[i], i);
}
*/
}
// Spawn the ball
function spawnBall(color:String, pos:Number):void {
if (color == "###") {
trace("Not a color");
} else {
switch (color) {
case "lil":
var purple_ball:PurpleBall = new PurpleBall;
addChild(purple_ball);
purple_ball.x = setX(pos);
purple_ball.y = 0;
break;
case "gul":
var yellow_ball:YellowBall = new YellowBall;
addChild(yellow_ball);
yellow_ball.x = setX(pos);
yellow_ball.y = 0;
break;
case "grø":
var green_ball:GreenBall = new GreenBall;
addChild(green_ball);
green_ball.x = setX(pos);
green_ball.y = 0;
break;
case "rød":
var red_ball:RedBall = new RedBall;
addChild(red_ball);
red_ball.x = setX(pos);
red_ball.y = 0;
break;
case "blå":
var blue_ball:BlueBall = new BlueBall;
addChild(blue_ball);
blue_ball.x = setX(pos);
blue_ball.y = 0;
break;
case "ros":
var pink_ball:PinkBall = new PinkBall;
addChild(pink_ball);
pink_ball.x = setX(pos);
pink_ball.y = 0;
break;
case "ora":
var orange_ball:OrangeBall = new OrangeBall;
addChild(orange_ball);
orange_ball.x = setX(pos);
orange_ball.y = 0;
break;
}
this.addEventListener(Event.ENTER_FRAME, moveBall)
}
function setX(pos):Number {
var xpos:Number;
switch (pos) {
case 0:
xpos = row1;
break;
case 1:
xpos = row2;
break;
case 2:
xpos = row3;
break;
case 3:
xpos = row4;
break;
}
return xpos;
}
}
//Move the balls
function moveBall(e:Event) {
e.currentTarget.y += 5;
}
Отправьте код, который вы хотите сделать для нереста, пожалуйста. Трудно понять, что случилось без этого. –
Похоже, что ваши заявления о случаях не совпадают с вашими данными (это датский?). Я бы начал с добавления случаев «по умолчанию» и выяснения того, попадают ли они. –
Норвежский на самом деле ... Можете ли вы привести мне пример? im очень новичок в этом –