Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 使用ActionScript 3创建5个随机元素_Actionscript 3 - Fatal编程技术网

Actionscript 3 使用ActionScript 3创建5个随机元素

Actionscript 3 使用ActionScript 3创建5个随机元素,actionscript-3,Actionscript 3,我的要求: 它们需要在随机位置上创建 您应该能够单击并移动它们 一旦它们彼此接触,你就不能再移动它们了 他们一接触就会改变颜色 这是我现在的代码,但它一直在创建无限多的球 import flash.display.MovieClip; import flash.events.Event; import flash.events.MouseEvent; //Criação das variavéis var bolas:Array = new Array(); stage.addEvent

我的要求:

  • 它们需要在随机位置上创建
  • 您应该能够单击并移动它们
  • 一旦它们彼此接触,你就不能再移动它们了
  • 他们一接触就会改变颜色
这是我现在的代码,但它一直在创建无限多的球

import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;

//Criação das variavéis
var bolas:Array = new Array();

stage.addEventListener(MouseEvent.MOUSE_DOWN, startdd);
stage.addEventListener(MouseEvent.MOUSE_UP, stopdd);

function startdd(e:MouseEvent)
{
e.target.startDrag();
}

function stopdd(e:MouseEvent)
{
    e.target.stopDrag();
    }


    for (var i:int = 0; i < 5; i++)
    {
    var ball:bolamc = new bolamc();
    ball.x = Math.random() * (stage.stageWidth - ball.width);
    ball.y = Math.random() * (stage.stageHeight - ball.height);
    bolas.push(ball);
    stage.addChild(ball);
    }
导入flash.display.MovieClip;
导入flash.events.Event;
导入flash.events.MouseEvent;
//克里奥·达斯·瓦里亚维斯酒店
var-bolas:Array=new-Array();
stage.addEventListener(MouseEvent.MOUSE_DOWN,startdd);
stage.addEventListener(MouseEvent.MOUSE_UP,stopdd);
功能startdd(e:MouseeEvent)
{
e、 target.startDrag();
}
函数stopdd(e:MouseEvent)
{
e、 target.stopDrag();
}
对于(变量i:int=0;i<5;i++)
{
var-ball:bolamc=new-bolamc();
ball.x=Math.random()*(stage.stageWidth-ball.width);
ball.y=Math.random()*(stage.stageHeight-ball.height);
推(球);
舞台。儿童(球);
}

注:我的朋友正在使用相同的代码,并且它工作正常(可以制造5个球,他可以移动它们)

你需要自己编写大部分代码,但我可以给你一些指导

要在屏幕上的随机点中创建元素,可以使用。例如:

var newElement:Element = new Element();
newElement.x = Math.random()*STAGE_WIDTH_GOES_HERE;
newElement.y = Math.random()*STAGE_HEIGHT_GOES_HERE;
addChild(newElement);
用于单击和拖动。您可能需要对其进行调整,以使其可用于多个对象

对于“碰撞碰撞”,可以在图元中循环并使用来确定其边界框是否相互接触。如果您需要更高的精度,可以尝试像这样的像素完美碰撞类

要更改对象的颜色,可以使用,其中包含有关的教程。下面是该页面中的一些基本示例代码:

var myColorTransform = new ColorTransform();
myColorTransform.color = 0xFFFFFF;
myTargetObject.transform.colorTransform = myColorTransform; 

@Eksu,如果你发现一个有建设性的答案,那么你可以投赞成票和/或接受它作为你问题的答案。这也有助于社区,提高人们的声誉,也有助于那些有同样问题的人,通过网络搜索,并以公认的答案看到这个问题。有些人可能不会费心去读那些不被接受的答案。@Zhafur是的,他确实解决了问题,现在连我都觉得可以试着帮助他。@没有人粗鲁。你最初的问题被理解为“我想要xyz,现在就给我”而不是“我已经试着去做了…”大多数顾问都不会那样去碰它。Chillax,我们实际上是在帮你。PeacePS:回答你的问题,试着在电影嘴唇上进行颜色变换:。也可以考虑使用不同的名称用于<代码>球>代码>数组和<代码>球这样的MOVICELIP会导致问题进一步与@ VC.One一致,如果有人看到这样的帖子,他们会标记它,向下投票,甚至不回答。(针对问题的第一种形式):)我现在遇到了一个新问题,我的代码不断出错,不停。我又更新了。抱歉,麻烦了。