Torero
28.11.2007, 21:52
Доброго времени суток. Пытаюсь сделать так, чтобы каждый экземпляр классов, наследуемых от класса "Frame", появлялся на свет божий внутри родительского спрайта и обладал методом addMask(), создающим маскирующий спрайт заданных размеров. Подскажите пожалуйста, где ошибка в коде:
package {
import flash.display.Sprite;
import flash.display.Shape;
public class Frame extends Sprite {
public function Frame(){
var p:Sprite=new Sprite();
p.name="Container";
p.addChild(this);
trace (parent.name); //Container
}
protected function addMask(w:uint, h:uint):void{
trace(parent.name); //Container
var s:Shape=new Shape();
with(s.graphics){
beginFill(0x0000FF);
drawRect(0,0,w,h);
endFill();
}
parent.addChild(s); //на экране ничего не отображается
//mask=s;
}
}
}
package{
import flash.display.Sprite
import flash.events.MouseEvent
public class D extends Frame {
public function D(){
trace(parent.name); //Container
with(graphics){
beginFill(0xFF0000,0.4);
drawRect(0,0,150,200);
endFill();
}
addMask(50,50);
}
}
}
package {
import flash.display.Sprite;
import flash.display.Shape;
public class Frame extends Sprite {
public function Frame(){
var p:Sprite=new Sprite();
p.name="Container";
p.addChild(this);
trace (parent.name); //Container
}
protected function addMask(w:uint, h:uint):void{
trace(parent.name); //Container
var s:Shape=new Shape();
with(s.graphics){
beginFill(0x0000FF);
drawRect(0,0,w,h);
endFill();
}
parent.addChild(s); //на экране ничего не отображается
//mask=s;
}
}
}
package{
import flash.display.Sprite
import flash.events.MouseEvent
public class D extends Frame {
public function D(){
trace(parent.name); //Container
with(graphics){
beginFill(0xFF0000,0.4);
drawRect(0,0,150,200);
endFill();
}
addMask(50,50);
}
}
}