I got a serius problem coz i dont know so much about as3.
我有一个严重的问题因为我不太了解as3。
I have an actionscript code in a project that in timeline Frame one and the code is:
我在一个项目中有一个actionscript代码,在时间轴第一帧和代码是:
stop();
import flash.display.BitmapData;
import flash.display.SimpleButton
import flash.display.Bitmap;
import flash.display.Loader;
import flash.display.MovieClip;
import flash.errors.IOError;
import flash.events.ProgressEvent;
import flash.net.FileFilter;
import flash.net.FileReference;
import flash.net.URLVariables;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.utils.ByteArray;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequestHeader;
import flash.geom.ColorTransform;
import flash.geom.Matrix;
import flash.display.LoaderInfo;
import flash.events.IOErrorEvent;
import flash.events.SecurityErrorEvent;
import com.drooza.*;
import caurina.transitions.Tweener;
const thumbWidth:int = 90;
const numThumbsShown:int = 5;
var thumb_array:Array = [];
var thumbContainer:Sprite = new Sprite(),
pictureContainer:Sprite = new Sprite();
var leftMostThumb:int = 0; //for sliding thumbs
var currentThumb:int = 0;
var thumbsXML:XMLReader = new XMLReader("gallery.xml");
var thumbcurrentThumbList:XMLList;
var pictureLoader:Loader;
//var _browseBtn: SimpleButton;
thumbsXML.init();
thumbsXML.addEventListener(Event.COMPLETE, thumbCompleteHandler);
pictureContainer.addEventListener(MouseEvent.CLICK, gotoLargePicture);
pictureContainer.buttOnMode= true;
pictureContainer.mouseChildren = false;
pictureContainer.x = 10;
pictureContainer.y = 10;
addChild(pictureContainer);
addChildAt(thumbContainer, getChildIndex(mask_mc) - 1);
with(thumbContainer)
{
mask = mask_mc;
x = mask_mc.x;
y = mask_mc.y;
}
thumbsXML.parseXML = function() {
clearContainer(thumbContainer);
try {
//
//
//
trace(thumbsXML.xmlData..album.length() + " albums found.");
for each(var album:XML in thumbsXML.xmlData..album)
{
trace("ALBUM: \n" + album);
for each(var image:XML in album.image)
{
trace("THUMB\n" + image);
//create client thumbs and add them to container
var thumb:Thumb = new Thumb();
thumb.imageLoader = new ImageLoader(thumb);
thumb.x = (thumbContainer.numChildren * (thumbWidth + 10));
thumb.imageLoader.loadImage(thumbsXML.xmlData.@albumDir + album.@dir + album.@galleryDir + album.@thumbDir + image.@url);
thumb.addEventListener(MouseEvent.CLICK, thumbClickHandler);
thumbContainer.addChild(thumb);
thumb_array[thumb_array.length] = thumb;
thumb.item = new Item({
image:thumbsXML.xmlData.@albumDir + album.@dir + album.@galleryDir + album.@largeDir + image.@url,
sized:thumbsXML.xmlData.@albumDir + album.@dir + album.@galleryDir + album.@sizedDir + image.@url,
thumb:thumbsXML.xmlData.@albumDir + album.@dir + album.@galleryDir + album.@thumbDir + image.@url,
description:image.text()
});
}
}
leftArrow.addEventListener(MouseEvent.CLICK, moveLeft);
rightArrow.addEventListener(MouseEvent.CLICK, moveRight);
showThumbContents();
}
catch(e:Error)
{
trace(":: Error parsing XML.");
trace("Caught: " + e.getStackTrace());
}
}
function thumbClickHandler(e:MouseEvent):void {
var thumb:Thumb = e.target as Thumb;
currentThumb = thumbContainer.getChildIndex(thumb);
showThumbContents();
}
function showThumbContents():void {
var thumb:Thumb = thumbContainer.getChildAt(currentThumb) as Thumb;
clearContainer(pictureContainer);
try
{
pictureLoader = new Loader();
pictureLoader.load(new URLRequest(thumb.item.sized));
pictureLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, IOErrorHandler);
pictureLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler);
pictureLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, pictureCompleteHandler);
pictureContainer.addChild(pictureLoader);
}
catch(e:TypeError){
trace("Error showing thumb contents.\n\t" + e.getStackTrace());
}
}
function gotoLargePicture(e:MouseEvent = null):void {
trace("GOTO LARGE PICTURE");
var thumb:Thumb = thumbContainer.getChildAt(currentThumb) as Thumb;
navigateToURL(new URLRequest(thumb.item.image), "_blank");
}
function IOErrorHandler(e:IOErrorEvent):void {
trace("IOErrorEvent!:" + e);
}
function onProgressHandler(e:ProgressEvent):void {
trace("ProgressEvent: " + e);
loading_mc.visible = true;
}
function pictureCompleteHandler(e:Event):void {
//trace("Complete! " + e);
//pictureContainer.x = 275 - (pictureContainer.width / 2)
loading_mc.visible = false;
}
function adjustThumbs():void {
var temp:int = 0;
while(temp <= currentThumb - numThumbsShown)
temp += numThumbsShown;
leftMostThumb = temp;
slideThumbs();
}
function moveLeft(e:MouseEvent):void {
if(leftMostThumb > 0)
leftMostThumb -= numThumbsShown;
slideThumbs();
}
function moveRight(e:MouseEvent):void {
if(leftMostThumb = thumbContainer.numChildren)
currentThumb = 0;
//showDescription();
showThumbContents();
}
function clearContainer(container:DisplayObjectContainer):void {
while(container.numChildren > 0)
container.removeChildAt(0);
}
function thumbCompleteHandler(e:Event){
trace("thumbsXML loaded. ");
thumbsXML.removeEventListener(Event.COMPLETE, thumbCompleteHandler);
}
//_browseBtn = browseBT;// new SimpleButton ( ) ;
//_browseBtn.useHandCursor = true;
browseBT.addEventListener ( MouseEvent.CLICK, _handleMouseEvent ) ;
//_fileFilter = new FileFilter ( "Image", "*.jpg;*.gif;*.png;" ) ;
function _handleMouseEvent ( evt : MouseEvent ) : void
{
//_fileRef = new FileReference ( ) ;
//_fileRef.browse ( [_fileFilter] ) ;
//_fileRef.addEventListener ( Event.SELECT, _onImageSelect ) ;
blackmask.blackmastin.gotoAndPlay(2);
}
Now i have another project that i want to put this code but this project loads the actionscript code from an external .as file.
现在我有另一个项目,我想放置此代码,但此项目从外部.as文件加载actionscript代码。
The Code is:
守则是:
package
{
import flash.display.Sprite;
import fl.motion.AdjustColor;
import flash.filters.ColorMatrixFilter;
import fl.events.SliderEvent;
import com.flashcube.Transformer;
import flash.events.MouseEvent;
public class Main extends Sprite
{
private var color:AdjustColor = new AdjustColor();
private var filter:ColorMatrixFilter;
private var faceTransform:Transformer;
public function Main():void
{
/* Required to create initial Matrix */
color.brightness = 0;
color.cOntrast= 0;
color.hue = 0;
color.saturation = 0;
var newZIndex = 10;
/* Add Listeners function */
addListeners();
addListeners2();
addListeners22();
}
private final function addListeners():void
{
faceTransform = new Transformer(image2);
faceTransform.color = 0x000FFF;
faceTransform.showCenterCircle = true;
faceTransform.selectedColor = 0x000000;
faceTransform.selectedAlpha = 0.5;
faceTransform.allowScaleProportion = true;
faceTransform.allowRotateProportion = false;
colorPanel.brightSL.addEventListener(SliderEvent.CHANGE, adjustBrightness);
colorPanel.contSL.addEventListener(SliderEvent.CHANGE, adjustContrast);
colorPanel.hueSL.addEventListener(SliderEvent.CHANGE, adjustHue);
colorPanel.satSL.addEventListener(SliderEvent.CHANGE, adjustSaturation);
}
private final function adjustBrightness(e:SliderEvent):void
{
color.brightness = e.target.value;
update();
}
private final function adjustContrast(e:SliderEvent):void
{
color.cOntrast= e.target.value;
update();
}
private final function adjustHue(e:SliderEvent):void
{
color.hue = e.target.value;
update();
}
private final function adjustSaturation(e:SliderEvent):void
{
color.saturation = e.target.value;
update();
}
private final function update():void
{
filter = new ColorMatrixFilter(color.CalculateFinalFlatArray());
image.filters = [filter];
}
private final function addListeners2():void
{
colorPanel2.brightSL.addEventListener(SliderEvent.CHANGE, adjustBrightness2);
colorPanel2.contSL.addEventListener(SliderEvent.CHANGE, adjustContrast2);
colorPanel2.hueSL.addEventListener(SliderEvent.CHANGE, adjustHue2);
colorPanel2.satSL.addEventListener(SliderEvent.CHANGE, adjustSaturation2);
}
private final function adjustBrightness2(e:SliderEvent):void
{
color.brightness = e.target.value;
update2();
}
private final function adjustContrast2(e:SliderEvent):void
{
color.cOntrast= e.target.value;
update2();
}
private final function adjustHue2(e:SliderEvent):void
{
color.hue = e.target.value;
update2();
}
private final function adjustSaturation2(e:SliderEvent):void
{
color.saturation = e.target.value;
update2();
}
private final function update2():void
{
filter = new ColorMatrixFilter(color.CalculateFinalFlatArray());
image2.filters = [filter];
}
//-------------------------------------------------
private final function addListeners22():void
{
image.addEventListener(MouseEvent.CLICK, friendMaker);
}
private final function friendMaker(evt:MouseEvent):void {
//setChildIndex(image2,stage.numChildren-1);
setChildIndex(image,numChildren+1);
}
}
}
Please is it possible someone to help me to mix the first code int second .as file?
请问有人可以帮我混合第二个.as文件中的第一个代码吗?
I am attaching a download link with all source files.
我附上了所有源文件的下载链接。
In the file AdgustColor in frame on there is the actionscript code that i want to transfare to Main.as File.
在框架中的AdgustColor文件中有动作脚本代码我要转发到Main.as文件。
In the filescroller.fla there is the original Scroller.
在filescroller.fla中有原始的Scroller。
Ofcourse the AdgustColor.fla doesnt work until i remove the actionscript code from the timeline Frame 1.
当然,在我从时间轴第1帧中删除动作脚本代码之前,AdgustColor.fla不起作用。
DOWNLOAD: myfiles
1
I'm going to be honest with you here. You should start small and read some tutorials on how classes work before you attempt something like this. Although the migration is very easy, when it comes time to revise your code in any way, you will run into issues.
我在这里要对你说实话。在尝试这样的事情之前,你应该从小做起并阅读关于类如何工作的一些教程。虽然迁移非常简单,但是当需要以任何方式修改代码时,您将遇到问题。
0
"Mixing" code especially from a class file isn't a very good idea if you don't know what you are doing. I don't think anyone here will be able to answer this question the way you want it answered, which appears to be "Just do it for me". Maybe if you provide what the end result will be someone might just do it for you. There's a lot of code there however so still I doubt you will get a perfect answer. I think the best answer you are going to get is to dig into the code and learn how it functions. In the end you will get a better result because you will know everything about the code and you will have learned something from it that you can apply to other problems. Hope that helps!
如果您不知道自己在做什么,那么“混合”代码尤其是来自类文件的代码并不是一个好主意。我认为这里的任何人都不会以你希望它回答的方式回答这个问题,这似乎就是“为我做这件事”。也许如果你提供最终结果将是某人可能会为你做的。那里有很多代码但是我仍然怀疑你会得到一个完美的答案。我认为您将获得的最佳答案是深入研究代码并了解其功能。最后,您将获得更好的结果,因为您将了解有关代码的所有内容,并且您将从中学到一些可以应用于其他问题的内容。希望有所帮助!