Hi all,
I wanna remove everything from stage if i click on an image. Well it ain’t that hard but there is one problem. I want to leave albumbg on stage but it’s a child of bg and if i removeChild(bg) it will remove all the childs of bg so also albumbg. The problem now is, if i set the albumbg to addChild(albumbg) it won’t show up.
Well here is my code if someone can take a look at it.
package {
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Rectangle;
import flash.display.Bitmap;
import com.greensock.TweenLite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.display.Loader;
import flash.text.Font;
import flash.text.TextFormat;
import flash.text.TextFieldAutoSize;
import flash.text.TextField;
import flash.text.AntiAliasType;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
public class Main extends Sprite {
//variables for drawfunction
var bg:MovieClip = new MovieClip();
var albumbg:MovieClip = new MovieClip();
var test2:MovieClip = new MovieClip();
//variables for dragbg function
var bounds_rect:Rectangle = new Rectangle(0, 0, -1280, 0);
//variables for albumarts function
var xmlData:XML = new XML();
var xmlList:XMLList = new XMLList();
var currentPic:int=0;
var xmlLoader:URLLoader = new URLLoader();
var Length=xmlList.length();
var albumart = new Array();
//variables for textfield
public function Main() {
Draw();
dragbg();
albumarts();
Textfields();
}//end of constructor main
//alle tekenfuncties kunnen hierbij in.
public function Draw(){
bg.graphics.beginFill(0x1f1f1f);
bg.graphics.drawRect(0, 0, 2560, 1024);
bg.graphics.endFill();
bg.x = 0;
bg.y = 0;
addChild(bg)
trace("draw");
albumbg.graphics.beginFill(0x1f1f1f);
albumbg.graphics.drawRect(0, 0, 1280, 1024);
albumbg.graphics.endFill();
albumbg.x = 0;
albumbg.y = 1024;
bg.addChild(albumbg)
}// end of public function Draw(){
public function Textfields(){
var myFont:Font = new Font1();
var myFormat:TextFormat = new TextFormat();
var textArray:Array = new Array();
var text:Array = new Array("Recent", "Albums", "Video's");
myFormat.font = myFont.fontName;
myFormat.size = 32;
for (var i:int; i < 3; i++) {
var myTextField:TextField = new TextField();
myTextField.autoSize = TextFieldAutoSize.LEFT;
myTextField.selectable = false;
if (i == 0)
myTextField.x = 140;
else
myTextField.x = 540*i;
myTextField.y = 130;
myTextField.defaultTextFormat = myFormat;
myTextField.textColor = 0xFFFFFF;
myTextField.embedFonts = true;
myTextField.antiAliasType = AntiAliasType.ADVANCED;
myTextField.text = text*;
bg.addChild(myTextField)
textArray.push(myTextField)
}//end of for (var i:int; i < 3; i++) {
}//end of public function Textfields(){
//de background functie om er doorheen te kunnen slepen.
public function dragbg(){
bg.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
bg.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
function mouseDownHandler(evt:MouseEvent):void
{
bg.startDrag(false, bounds_rect);
}
function mouseUpHandler(evt:MouseEvent):void
{
bg.stopDrag();
}
trace("dragbg");
}//end of public function dragbg()
//http://www.experts-exchange.com/Software/Photos_Graphics/Web_Graphics/Macromedia_Flash/ActionScript/Q_26399939.html gebruikt en aangepast.
public function albumarts(){
xmlLoader.addEventListener(Event.COMPLETE, onComplete);
xmlLoader.load(new URLRequest("albumarts.xml"));
function onComplete(e:Event):void {
trace("complete");
xmlData=new XML(e.target.data);
xmlList=xmlData.IMAGE;
loadImages();
}//end of function onComplete(e:Event):void {
function loadImages():void {
trace("loadImages");
var Tot_Columns = 2;
var Cnt_Columns = 0;
var Col_XOffset = 540;
var Col_X_Space = 280;
var Col_YOffset = 200;
var Col_Y_Space = 280;
var Cnt_Row = 0;
for (var i = 0; i < xmlList.length(); i++) {
trace("albumart nummer = " + i);
albumart* = new Loader();
albumart*.load(new URLRequest(xmlData.IMAGE*.@ALBUM));
trace("URL albumart = " + xmlData.IMAGE*.@ALBUM);
albumart*.x = ((i % 2) * Col_X_Space) + Col_XOffset;
albumart*.y = (Cnt_Row * Col_Y_Space) + Col_YOffset;
bg.addChild(albumart*)
if ((i % 2) == 1)
Cnt_Row++;
}//end of for (var i = 0; i < xmlList.length(); i++) {
albumart[0].addEventListener(MouseEvent.CLICK, albuminfo0);
}//end of function loadImages():void {
function albuminfo0(event:MouseEvent):void{
bg.x = 0;
TweenLite.to(bg, 3, {x:0, y:-1024});
//bg.addEventListener(Event.MOTION_FINISH, tweenfinished_1);
var albumart = new Tween(bg, "alpha", Strong.easeOut, bg.alpha, 100, 2, true);
albumart.addEventListener(TweenEvent.MOTION_FINISH, tweenfinished_1);
trace("albuminfo0");
}//end of function albuminfo0(event:MouseEvent):void{
function tweenfinished_1(event:Event):void{
trace("tweenfinished_1");
//for (var i=0; i < albumart.length(); i++) {
//bg.removeChild(albumart*);
//bg.removeChild(myTextField);
//bg.removeChild(albumart[0]);
//bg.removeChild(albumart[1]);
//bg.removeChild(albumart[2]);
removeChild(bg);
//}
trace("tweenfinished");
}//end of function tweenfinished(event:Event):void{
}//end of public function albumarts(){
}//end of public class Main extends Sprite {
}//end of package {