Skip to main content
Inspiring
February 1, 2021
Question

problem error 1180, called to possibly undefined rectangle method

  • February 1, 2021
  • 1 reply
  • 279 views

Hi, I'm trying to adapt the code for a volume slider to work from a class. The code works perfectly from my action panel, but from the class it gives me that error.
I explain the code a bit

There is a volume symbol which is an mc and named for AS3 Volume. The class is from that symbol (Volume class).
That symbol contains two movieclips with instance names knob_mc and line_mc.
This is the tutorial I have used for the slider:

https://www.youtube.com/watch?v=qMotNC40pWw&list=PL1AjQxdF0PuY3KEfJhOYnPwrGv1GnjZBP&index=5&t=743s

 

this is the code

 

 

package  {
	
	import flash.display.MovieClip;
	import flash.media.SoundTransform;
	import flash.events.MouseEvent;
	import flash.events.Event;
	import flash.media.SoundChannel;
	
	
	public class Volume extends MovieClip {
		

		
		public function Volume(myChannel:SoundChannel) {
		var v = myChannel;
			
		function volume_drag(evt:MouseEvent):void
		{
		
			knob_mc.startDrag(false, new Rectangle(0,0,line_mc.width-knob_mc.width,0));//se atrastra en esos valores
		}
		function volume_dragStop(evt:MouseEvent):void
		{
			knob_mc.stopDrag();
		}
		function volume_set(evt:Event):void
		{
			
			var vol:Number = knob_mc.x /100;
			var st:SoundTransform = new SoundTransform(vol);
			v.soundTransform = st;//identifica el sonido
}

		knob_mc.addEventListener (MouseEvent.MOUSE_DOWN, volume_drag);
		knob_mc.addEventListener (MouseEvent.MOUSE_UP, volume_dragStop);
		knob_mc.addEventListener (MouseEvent.MOUSE_OUT, volume_dragStop);
		knob_mc.addEventListener (Event.ENTER_FRAME, volume_set);
		
		knob_mc.x = 40
			
		}
	}
	
}

It's the first class I adapt, so there are sure to be some mistakes. I appreciate the patience and the help. Thank you!!

    This topic has been closed for replies.

    1 reply

    JoãoCésar17023019
    Community Expert
    Community Expert
    February 1, 2021

    Hi.

     

    To fix this error alone, you need to import the Rectangle class. Like this:

    import flash.geom.Rectangle;

     

    Importing default classes is optional when coding in timelines but it is mandatory when using class files.

     

    Regards,

    JC 

    Inspiring
    February 2, 2021

    Obrigadissimo