first i have 2 sprite… it`s mcproduct sprite and mcproductpane sprite .
mcproductpane is a parent of mcproduct sprite… so inside mcproductpane there a several mcproduct sprite…
this is a script of mc prodcut
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
//import fl.controls.ProgressBar;
public class Product extends Sprite {
public var mcProductsPane:ProductsPane;
public var info_btn:SimpleButton;
public var addToCart_btn:SimpleButton;
public var title_txt:TextField;
public var price_txt:TextField;
public var cover_mc:MovieClip;
public var test_mc:MovieClip;
private var _data:Object;
private var loada:Loader;
private var loader:Loader;
public var use_btn:SimpleButton;
public var cate;
//public var my_pb:ProgressBar;
public function Product() {
cover_mc.x = 11;
cover_mc.y = 11;
use_btn.addEventListener(MouseEvent.CLICK, use_btn_click);
take_btn.addEventListener(MouseEvent.CLICK, take_btn_click);
info_btn.addEventListener(MouseEvent.CLICK, info_btn_click);
addToCart_btn.addEventListener(MouseEvent.CLICK,
addToCart_btn_click);
loader = new Loader;
loada = new Loader;
cover_mc.addChild( loader );
//my_pb = new ProgressBar();
//my_pb.source = loader.contentLoaderInfo;
//my_pb.x = -397.6;
//my_pb.y = 216.3;
}
public function set data(obj:Object):void {
_data = obj;
if ( !data ) {
this.visible = false;
loader.unload();
} else {
this.visible = true;
cate =_data['categorys_sid'];
title_txt.text = _data['name'];
price_txt.text = _data['price'];
var pic:String = 'imgs/small/' + _data['pic'] + '.jpg';
var ur:URLRequest = new URLRequest(global.appPath + pic);
loader.load( ur );
var pi:String = 'imgs/big/' + _data['pic'] + '.jpg';
var ar:URLRequest = new URLRequest(global.appPath + pi);
loada.load(ar);
}
}
public function get data():Object {
return _data;
}
private function take_btn_click(ev:MouseEvent):void {
loada.visible=false;
}
private function use_btn_click(ev:MouseEvent):void
{
var mcProductsPane:ProductsPane = new ProductsPane;
//trace(stage);
if(cate==1){
loada.x = -30.8;
loada.y =100.2;
this.parent.addChildAt(loada,2);
loada.width = 100.8;
loada.height = 156.4;
loada.visible=true;
}
else{
loada.x = -30.8;
loada.y = 200.2;
this.parent.addChildAt(loada,1);
loada.width =100;
loada.height = 200.4;
loada.visible=true;
}
}
private function info_btn_click(ev:MouseEvent):void {
var pd:ProductDetail = new ProductDetail(data);
stage.addChild(pd);
pd.addEventListener(ProductEvent.ADD_TO_CART, this.parent.parent['whenAddToCart']);
}
private function addToCart_btn_click(ev:MouseEvent):void {
dispatchEvent(
new ProductEvent(ProductEvent.ADD_TO_CART, data)
);
}
}
}
in mcproduct i build a button to load external image to his parent sprite using loader… it`s like this this.parent.addChildAt(loada,2);
and i use loada.visible=false; to make a button to make it dissapear…
and then mcproductpane script
package {
import com.adobe.serialization.json.JSON;
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
//import fl.controls.ProgressBar;
public class ProductsPane extends Sprite {
public var p0:Product, p1:Product;
public var p2:Product, p3:Product;
public var p4:Product, p5:Product;
public var first_btn:SimpleButton;
public var prev_btn:SimpleButton;
public var next_btn:SimpleButton;
public var last_btn:SimpleButton;
public var pages_txt:TextField;
public var products:Array;
private var _stringData:String;
private var _pagesData:Object;
private var _productsData:Array;
private var pageNum:int;
private var totalPages:int;
private var load:Loader;
//public var use_btn:SimpleButton;
//public var my_pb:ProgressBar;
public function ProductsPane() {
products = [p0, p1, p2, p3, p4, p5];
first_btn.addEventListener(MouseEvent.CLICK, flipHandler);
prev_btn.addEventListener(MouseEvent.CLICK, flipHandler);
next_btn.addEventListener(MouseEvent.CLICK, flipHandler);
last_btn.addEventListener(MouseEvent.CLICK, flipHandler);
}
public function set stringData(str:String):void {
var ar:Array = str.split(':::');
if (ar[0]) {
_pagesData = JSON.decode( ar[0] );
pageNum = int( _pagesData['pageNum'] );
totalPages = int( _pagesData['totalPages'] );
pages_txt.text = (pageNum+1) + " / " + (totalPages+1);
first_btn.visible = true;
prev_btn.visible = true;
next_btn.visible = true;
last_btn.visible = true;
if (pageNum == 0) {
first_btn.visible = false;
prev_btn.visible = false;
}
if (pageNum == totalPages) {
next_btn.visible = false;
last_btn.visible = false;
}
}
if (ar[1]) {
_productsData = JSON.decode( ar[1] );
for (var i:int = 0; i < products.length; i++) {
products*.data = _productsData*;
}
}
}
public function get stringData():String {
return _stringData;
}
public function get pagesData():Object {
return _pagesData;
}
public function get productsData():Array {
return _productsData;
}
private function flipHandler(ev:MouseEvent):void {
var flipTo:int = 0;
switch(ev.currentTarget) {
case first_btn:
flipTo = 0;
break;
case prev_btn:
if (pageNum>0) {
flipTo = pageNum -1;
} else return;
break;
case next_btn:
if (pageNum < totalPages) {
flipTo = pageNum +1;
} else return;
break;
case last_btn:
flipTo = totalPages;
break;
}
dispatchEvent(
new ProductsPaneEvent(ProductsPaneEvent.FLIP,
{'pageNum_rs':flipTo})
);
}
}
}
The problem is i want to set a button in here(mcproductpane sprite), this button will unload / make dissappear an image that i load using loader class in mcproduct sprite…
how can i make this happen?? when i want to make a button in mcproductpane sprite which the function of the button it`s to unload/make an image that i load using loader class in mcproduct sprite disappear…
thanks for all ur help… and yes i totally newbie in AS3… and sory for my poor english