Actionscript 3 如何创建元素的垂直线
每次前5个元素通过舞台中心时,我都会尝试创建一个垂直的元素(在本例中为5个)。 但是我所做的是为每一个通过中心的元素创建5个新的。 所以在第一个时刻,我有一个元素 当他通过中锋时,我有5个 当他们通过中心时,这5个人中的每一个我都有5个(总共25个) 但它们有相同的X和Y位置,它们叠在一起,看起来只有5个新的 当他们通过中心时,这25个人中的每一个我都有5个(比我想要的多得多(我只想要5个)),他们也太过分了 我如何在新列中只添加5个字符 到目前为止,我有以下代码:Actionscript 3 如何创建元素的垂直线,actionscript-3,Actionscript 3,每次前5个元素通过舞台中心时,我都会尝试创建一个垂直的元素(在本例中为5个)。 但是我所做的是为每一个通过中心的元素创建5个新的。 所以在第一个时刻,我有一个元素 当他通过中锋时,我有5个 当他们通过中心时,这5个人中的每一个我都有5个(总共25个) 但它们有相同的X和Y位置,它们叠在一起,看起来只有5个新的 当他们通过中心时,这25个人中的每一个我都有5个(比我想要的多得多(我只想要5个)),他们也太过分了 我如何在新列中只添加5个字符 到目前为止,我有以下代码: import flash.d
import flash.display.MovieClip;
import flash.events.Event;
public class Main extends MovieClip
{
private var myVertArray:Array = new Array();
private var _box:Box = new Box();
public function Main()
{
_box.x = stage.stageWidth - _box.width;
_box.y = stage.stageHeight - 200;
this.addChild(_box);
myVertArray.push(_box);
stage.addEventListener(Event.ENTER_FRAME, onEveryFrame);
}
private function onEveryFrame(ev:Event):void
{
var _myItem:Box
for (var i:int = 0; i < myVertArray.length; i++)
{
_myItem = myVertArray[i]
_myItem.x -= 3;
if(_myItem.x < stage.stageWidth/2 && !_myItem.passedCenter )
{
trace("myVertArray.length is : " + myVertArray.length)
_myItem.passedCenter = true
for(var j:int = 0; j < 5; j++)
{
var _myNewItem:Box = new Box();
_myNewItem.x = stage.stageWidth - 40;
_myNewItem.y = stage.stageHeight - (_myNewItem.height * j) - (j * 5) - _myNewItem.height /2 ;
_myNewItem.alpha = 0.2;
this.addChild(_myNewItem);
myVertArray.push(_myNewItem)
}
}
}
if(_myItem.x < 0)
{
removeChild(_myItem);
myVertArray.splice(i, 1);
}
}
}
您只需要为列中的一个对象提供创建新列的能力。你可以这样做
package{
import flash.display.MovieClip;
import flash.events.Event;
public class Main extends MovieClip{
private var myVertArray:Array = new Array();
private var _box:Box = new Box();
public function Main(){
_box.x = stage.stageWidth - _box.width;
_box.y = stage.stageHeight - 200;
_box.columnMaker=true; //added property
this.addChild(_box);
myVertArray.push(_box);
stage.addEventListener(Event.ENTER_FRAME, onEveryFrame);
}
private function onEveryFrame(ev:Event):void{
var _myItem:Box
for (var i:int = 0; i < myVertArray.length; i++){
_myItem = myVertArray[i]
_myItem.x -= 3;
if(_myItem.x < stage.stageWidth/2 && !_myItem.passedCenter ){
trace("myVertArray.length is : " + myVertArray.length)
_myItem.passedCenter = true;
if (_myItem.columnMaker) {//check added
trace("createColumn");
for(var j:int = 0; j < 5; j++){
var _myNewItem:Box = new Box();
_myNewItem.x = stage.stageWidth - 40;
_myNewItem.y = stage.stageHeight - (_myNewItem.height * j)-
(j * 5) - _myNewItem.height /2;
_myNewItem.alpha = 0.2;
if (j==4) {
_myNewItem.columnMaker=true;//give property to last object in
//columm
}
this.addChild(_myNewItem);
myVertArray.push(_myNewItem);
}
}
}
}
if(_myItem.x < 0){
removeChild(_myItem);
myVertArray.splice(i, 1);
}
}
}
}
包{
导入flash.display.MovieClip;
导入flash.events.Event;
公共类Main扩展了MovieClip{
私有变量myVertArray:Array=new Array();
private-var_-box:box=new-box();
公共功能Main(){
_box.x=stage.stageWidth-\u box.width;
_box.y=stage.stageHeight-200;
_box.columnMaker=true;//添加了属性
此.addChild(_框);
myVertArray.push(_框);
stage.addEventListener(Event.ENTER_FRAME,onEveryFrame);
}
私有函数onEveryFrame(ev:事件):无效{
变量_myItem:框
对于(变量i:int=0;i
package{
import flash.display.MovieClip;
import flash.events.Event;
public class Main extends MovieClip{
private var myVertArray:Array = new Array();
private var _box:Box = new Box();
public function Main(){
_box.x = stage.stageWidth - _box.width;
_box.y = stage.stageHeight - 200;
_box.columnMaker=true; //added property
this.addChild(_box);
myVertArray.push(_box);
stage.addEventListener(Event.ENTER_FRAME, onEveryFrame);
}
private function onEveryFrame(ev:Event):void{
var _myItem:Box
for (var i:int = 0; i < myVertArray.length; i++){
_myItem = myVertArray[i]
_myItem.x -= 3;
if(_myItem.x < stage.stageWidth/2 && !_myItem.passedCenter ){
trace("myVertArray.length is : " + myVertArray.length)
_myItem.passedCenter = true;
if (_myItem.columnMaker) {//check added
trace("createColumn");
for(var j:int = 0; j < 5; j++){
var _myNewItem:Box = new Box();
_myNewItem.x = stage.stageWidth - 40;
_myNewItem.y = stage.stageHeight - (_myNewItem.height * j)-
(j * 5) - _myNewItem.height /2;
_myNewItem.alpha = 0.2;
if (j==4) {
_myNewItem.columnMaker=true;//give property to last object in
//columm
}
this.addChild(_myNewItem);
myVertArray.push(_myNewItem);
}
}
}
}
if(_myItem.x < 0){
removeChild(_myItem);
myVertArray.splice(i, 1);
}
}
}
}