Note that there are some explanatory texts on larger screens.

plurals
  1. POActionscript Adding Custom Class To .fla
    text
    copied!<p>i'm missing something fundamental here. i have a very simple custom class that draws a circle and a checkbox, and only allows dragging of that circle sprite if the checkbox is checked. a checkbox component is manually added to the library in my .fla.</p> <p>from my .fla project's actions panel:</p> <pre><code>var ball:DragBall = new DragBall(); addChild(ball); </code></pre> <p>my custom class .as file (located in the same folder as the .swf)</p> <pre><code>package { import fl.controls.CheckBox; import flash.display.Sprite; import flash.events.MouseEvent; public class DragBall extends Sprite { private var ball:Sprite; private var checkBox:CheckBox; public function DragBall():void { drawTheBall(); makeCheckBox(); assignEventHandlers(); } private function drawTheBall():void { ball = new Sprite(); ball.graphics.lineStyle(); ball.graphics.beginFill(0xB9D5FF); ball.graphics.drawCircle(0, 0, 60); ball.graphics.endFill(); ball.x = stage.stageWidth / 2 - ball.width / 2; ball.y = stage.stageHeight / 2 - ball.height / 2; ball.buttonMode = true; addChild(ball); } private function makeCheckBox():void { checkBox = new CheckBox(); checkBox.x = 10; checkBox.y = stage.stageHeight - 30; checkBox.label = "Allow Drag"; checkBox.selected = false; addChild(checkBox); } private function assignEventHandlers():void { ball.addEventListener(MouseEvent.MOUSE_DOWN, dragSprite); ball.addEventListener(MouseEvent.MOUSE_UP, dropSprite); } private function dragSprite(evt:MouseEvent):void { if (checkBox.selected) {ball.startDrag();} } private function dropSprite(evt:MouseEvent):void { if (checkBox.selected) {ball.stopDrag();} } } } </code></pre> <p>compiling from the .fla results in the following error, which i don't understand</p> <pre><code> TypeError: Error #1009: Cannot access a property or method of a null object reference. at DragBall/drawTheBall() at DragBall() at DragBall_fla::MainTimeline/frame1() </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload