Actionscript 3 如何在单个AS3电影剪辑中使用文档类?
我有一个五彩纸屑发生器,我正在将它添加到我的flash文件中的单个电影剪辑中。剪辑是遮罩的,我想有一些图形和文字出现在五彩纸屑上面(也会出现在背景层上面) 我买了一个像样的脚本,并对其进行了修改,使其能够与一些原始的五彩纸屑艺术品一起使用,但我不知道如何在一个电影剪辑中使用这个类(或将其更改为使用)。粘贴下面的类。我已经为此强调了几个小时了,如果有任何帮助,我将不胜感激Actionscript 3 如何在单个AS3电影剪辑中使用文档类?,actionscript-3,class,generator,document,Actionscript 3,Class,Generator,Document,我有一个五彩纸屑发生器,我正在将它添加到我的flash文件中的单个电影剪辑中。剪辑是遮罩的,我想有一些图形和文字出现在五彩纸屑上面(也会出现在背景层上面) 我买了一个像样的脚本,并对其进行了修改,使其能够与一些原始的五彩纸屑艺术品一起使用,但我不知道如何在一个电影剪辑中使用这个类(或将其更改为使用)。粘贴下面的类。我已经为此强调了几个小时了,如果有任何帮助,我将不胜感激 package com.pixeljunkyard { import flash.display.Sprite;
package com.pixeljunkyard
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import caurina.transitions.*;
import fl.motion.Color;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
public class Main extends Sprite
{
//Create Heart Instance
private var hearts:Heart;
//Amount of hearts
private var totalHearts:Number = 30;
//Falling Speed
private var speed:Number = 1.5;
//Constructor
public function Main()
{
//Align top left for screen aspect ratio
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
//Loop through the amount of heart to be created
for (var i = 0; i < totalHearts; i++)
{
//Create new heart
var heart = new Heart();
//Set Random value
var randScale:Number = randRange(50, 100);
var randRotation:Number = randRange( -180, 180);
var randRotationY:Number = randRange( -360, 360);
//Random position and scale
heart.x = randRange(0, stage.stageWidth);
heart.y = randRange( -stage.stageHeight, stage.stageHeight);
heart.scaleX = randScale/100;
heart.scaleY = randScale/100;
//Name each heart with the number of creation
heart.name = "heart" + i;
var Low : int = 1;
var High : int = 8;
var myRandomNumber:int = Math.floor(Math.random()*(1+High-Low))+Low;
heart.gotoAndStop(myRandomNumber);
//Add eventlisteners for interactions
heart.addEventListener(MouseEvent.ROLL_OVER, hit_heart);
heart.addEventListener(Event.ENTER_FRAME, change_shade);
//Initial Animation
Tweener.addTween(heart, {time:randRange(1,5)/speed, rotation:randRotation,rotationY:randRotationY,y:stage.stageHeight+(heart.height/2)+20, transition:"linear", onComplete:rebirth,onCompleteParams:[heart]} );
//Add to Stage
addChildAt(heart, i);
}
}
//Change shade to give lighting effect
private function change_shade(e:Event):void
{
//New color instance
var c:Color = new Color();
//Set properties
c.brightness = e.target.rotation / 300;
//Apply color to heart
e.target.transform.colorTransform = c;
}
//Random Function
private function randRange(min:Number, max:Number):Number
{
var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
return randomNum;
}
//Interactive animation
private function hit_heart(e:Event):void
{
Tweener.addTween(e.target, { time:randRange(1,3), rotationY:e.target.rotationY+180 } );
}
//Reset heart to top of the screen once fallen
private function rebirth($heart:Heart):void
{
$heart.x = randRange(0, stage.stageWidth);
$heart.y = -$heart.height;
Tweener.addTween($heart, {time:randRange(1,5)/speed, rotation:randRange(-180,180),y:stage.stageHeight+($heart.height/2)+20, transition:"linear", onComplete:rebirth,onCompleteParams:[$heart]} );
}
}
}
package com.pixelsjunkyard
{
导入flash.display.Sprite;
导入flash.events.Event;
导入flash.events.MouseEvent;
导入caurina.transitions.*;
导入fl.motion.Color;
导入flash.display.StageAlign;
导入flash.display.StageScaleMode;
公共类Main扩展了Sprite
{
//创建心脏实例
私人心脏:心脏;
//心数
私有var totalHearts:数字=30;
//下降速度
专用var速度:数字=1.5;
//建造师
公共功能Main()
{
//对齐屏幕纵横比的左上角
stage.align=StageAlign.TOP\u左;
stage.scaleMode=StageScaleMode.NO_SCALE;
//循环通过要创建的心脏数量
对于(var i=0;i
现在我明白你的问题了
首先,我建议不要在时间轴上写代码,除了像stop()
或gotoAndPlay(“循环”)
这样简单的东西
实现目标的最简单方法是执行以下操作:
MovieClip
public class Main extends Sprite
更改为public class confetticcontainer extends MovieClip
并导入flash.display.MovieClip
MovieClip
您现在可以这样创建和使用它:
var confetti:ConfettiContainer = new ConfettiContainer();
addChild(confetti);
另外,如果在Flash中创建
符号时看不到Export for Actionscript
选项,请单击Advanced
我认为您的问题需要更具体一些。我不明白你的问题是什么。这个脚本只有在我从flash电影属性中的document类blank调用它时才起作用。我还没有真正学会使用文档类,通常在电影的第一帧中编写我需要编写的内容。这个脚本有两个问题。首先,我需要能够调用它并启动它,而无需将整个脚本设置为swf的文档类,并且我需要能够将其限制为movieclip的内容,以便我可以屏蔽它,将资源放在它上面(文本/图形),并将资源放在它后面(背景层)。我还没有机会尝试它。我迫不及待地想用手制作彩色纸屑的动画,因为我找不到另一个可以让我拥有足够控制力的解决方案。虽然我真的很想尝试一下,我很快就会,但我需要