Ci sono delle classi che non possono essere estese, perchè hanno appunto l'attributo final.
La classe in questione, in particolare, è una classe di servizio che contiene proprietà e metodi inseriti qui per non intasare le classi che poi la sfruttano per disegnare dentro se stessi tramite actionscript. Oltretutto la classe Graphics non può neanche essere creata dal costruttore, infatti recita la guida:
Ora, non metti in dubbio che tu sia partito da un esempio simile, ma probabilmente la classe estendeva Shape o Sprite o MovieClip (tutte classi di visualizzazione su cui è possibile disegnare tramite actionscript).Non è possibile creare un oggetto Graphics direttamente dal codice ActionScript. Se si chiama new Graphics(), viene generata un'eccezione.
Ti faccio un esempio di quello che intendo, riportando una mia classe di visualizzazione che disegna al proprio interno un rettangolo:
Da usare così:Codice PHP:package {
import flash.display.Sprite;
public class Rect extends Sprite {
private var A:Number;
public function Rect (w:Number=100.0, h:Number=100.0, c:uint=0, b:Number=NaN, l:uint=0, o:Object=null) {
A = o != null && o['alphaFill'] != undefined ? o['alphaFill'] : 1.0;
if (o != null) for (var p:String in o) try { this[p] = o[p] } catch (err:*) {};
graphics.lineStyle(b, l, 1, false, "normal", "none", "miter", 255);
graphics.beginFill(c, A);
graphics.drawRect(0, 0, w, h);
graphics.endFill();
}
}
}
Codice PHP:var r:Rect = new Rect(200, 50, 0xFF00EE, 1, 0, {x:10, y:10});
addChild(r);

Rispondi quotando