# Calls to a possibly undefined method error

**URL:** <https://forum.kirupa.com/t/calls-to-a-possibly-undefined-method-error/318973>\
**Category:** flash\
**Created:** [February 4, 2011, 9:40pm UTC](https://forum.kirupa.com/t/calls-to-a-possibly-undefined-method-error/318973 "2011-02-04T21:40:38Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![SqueakyFish](https://avatars.discourse-cdn.com/v4/letter/s/a4c791/32.png) [@SqueakyFish](https://forum.kirupa.com/u/SqueakyFish)\
**Post date:** [February 4, 2011, 9:40pm UTC](https://forum.kirupa.com/t/calls-to-a-possibly-undefined-method-error/318973/1 "2011-02-04T21:40:38Z")

</div>

A bit new to all this, so probably missing something blatently obvious.

I followed the tutorial on isometric transformations ([http://www.kirupa.com/developer/actionscript/isometric\_transforms.htm](http://www.kirupa.com/forum/../developer/actionscript/isometric_transforms.htm)), which I had no issue understanding. However, I thought I would explore putting that tutorial into multiple files / external classes as a bit of an exercise.

Now I am just getting an error stating that “Calls to a possibly undefined method drawIsoRefBars”.

I’ve messed about for 2 days now, but just can’t seem to nail the problem.  
Any ideas on where I’m going wrong in the following code?

The intention is to create a drawingBoard sprite to plot/draw iso reference lines onto.

The error is directed to the main file (drawingTests.as) at the point I try to call “drawIsoRefsBars”.

drawingTests.as

```auto
package 
{
    import flash.display.Sprite;
    import drawComponents;

    public class drawingTests extends Sprite
    {
        public function drawingTests ()
        {
            var drawingBoard:Sprite = new Sprite();
            drawIsoRefBars (drawingBoard); **//Error on this row**
            addChild (drawingBoard);
        }
    }
    
}

```

drawComponents.as

```auto
package  
{
    import flash.display.Sprite;
    import drawingKit;
    
    public class drawComponents extends Sprite
    {
        public function drawComponents
        {
            
        }
        
        public function drawIsoRefBars (drawingTarget:Sprite):void
        {
            private var xOrigin:Number = 0;
            private var yOrigin:Number = 0;
        
            // red line
            drawingTarget.graphics.lineStyle(1, 0xFF0000, 100);
            drawingTarget.graphics.plot(0, 0, 0, xOrigin, yOrigin);
            drawingTarget.graphics.draw(200, 0, 0, xOrigin, yOrigin);
            
            // green line
            drawingTarget.graphics.lineStyle(1, 0x00FF00, 100);
            drawingTarget.graphics.plot(0, 0, 0, xOrigin, yOrigin);
            drawingtarget.graphics.draw(0, 200, 0, xOrigin, yOrigin);
            
            // blue line
            drawingTarget.graphics.lineStyle(1, 0x0000FF, 100);
            drawingTarget.graphics.plot(0, 0, 0, xOrigin, yOrigin);
            drawingTarget.graphics.draw(0, 0, 200, xOrigin, yOrigin);
        }
        
    }

}

```

drawingKit.as

```auto
package  
{    
    import coordConveter;
    
    public class drawingKit
    {
        
        public function drawingKit() 
        {
            
        }
        
        private function plot (isoX:Number, isoY:Number, isoZ:Number, xOrigin:Number, yOrigin:Number):void
        {
            moveTo(xFla(isoX, isoY, isoZ, xOrigin), yFla(isoX, isoY, isoZ, yOrigin));
        }
            
        private function draw (isoX:Number, isoY:Number, isoZ:Number, xOrigin:Number, yOrigin:Number):void
        {
            lineTo (xFla(isoX, isoY, isoZ, xOrigin), yFla(isoX, isoY, isoZ, yOrigin));
        }
        
    }

}

```

coordConverter.as

```auto
package  
{    
    public class coordConverter
    {
        
        public function coordConverter() 
        {
        }
        
        public function xFla (isoX:Number, isoY:Number, isoZ:Number, xOrigin:Number):Number
        {
            var crtX:Number = (isoX - isoZ) * Math.cos(0.46365);
            var flaX:Number = crtX + xOrigin;
            return flaX;
        }
        
        public function yFla (isoX:Number, isoY:Number, isoZ:Number, yOrigin:Number):Number
        {
            var crtY:Number = isoY + (isoX + isoZ) * Math.sin(0.46365);
            var flaY:Number = -crtY + yOrigin;
            return flaY;
        }
    }

}

```

I would appreciate any help you can offer.  
TIA, Jon.
