Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

1090: Migration issue: The onMouseUp event handler is not triggered automatically by Flash Player at run time in ActionScript 3.0. You must first register this handler for the event using addEventListener ( 'mouseUp', callback_handler).

Contributor ,
May 16, 2016 May 16, 2016

1090: Migration issue: The onMouseUp event handler is not triggered automatically by Flash Player at run time in ActionScript 3.0. You must first register this handler for the event using addEventListener ( 'mouseUp', callback_handler)

i just added 

addEventListener ( 'mouseUp', callback_handler) this line in the code  but then it shows  "Call to a possibly undefined method addEventListener."

so my question is how can i add  this code in the program  : addEventListener ( 'mouseUp', callback_handler);

the complete code is

package com.bit101.components

{

  import flash.display.DisplayObjectContainer;

  import flash.display.Sprite;

  import flash.events.MouseEvent;

  public class PushButton extends Component

  {

  protected var _back:Sprite;

  protected var _face:Sprite;

  protected var _label:Label;

  protected var _labelText:String = "";

  protected var _over:Boolean = false;

  protected var _down:Boolean = false;

  protected var _selected:Boolean = false;

  protected var _toggle:Boolean = false;

  /**

  * Constructor

  * @Param parent The parent DisplayObjectContainer on which to add this PushButton.

  * @Param xpos The x position to place this component.

  * @Param ypos The y position to place this component.

  * @Param label The string to use for the initial label of this component.

  * @Param defaultHandler The event handling function to handle the default event for this component (click in this case).

  */

  public function PushButton(parent:DisplayObjectContainer = null, xpos:Number = 0, ypos:Number =  0, label:String = "", defaultHandler:Function = null)

  {

  super(parent, xpos, ypos);

  if(defaultHandler != null)

  {

  addEventListener(MouseEvent.CLICK, defaultHandler);

  }

  this.label = label;

  }

  /**

  * Initializes the component.

  */

  override protected function init():void

  {

  super.init();

  buttonMode = true;

  useHandCursor = true;

  setSize(100, 20);

  }

  /**

  * Creates and adds the child display objects of this component.

  */

  override protected function addChildren():void

  {

  _back = new Sprite();

  _back.filters = [getShadow(2, true)];

  _back.mouseEnabled = false;

  addChild(_back);

  _face = new Sprite();

  _face.mouseEnabled = false;

  _face.filters = [getShadow(1)];

  _face.x = 1;

  _face.y = 1;

  addChild(_face);

  _label = new Label();

  addChild(_label);

  addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);

  addEventListener(MouseEvent.ROLL_OVER, onMouseOver);

  }

  ///////////////////////////////////

  // public methods

  ///////////////////////////////////

  /**

  * Draws the visual ui of the component.

  */

  override public function draw():void

  {

  super.draw();

  _back.graphics.clear();

  _back.graphics.beginFill(Style.BACKGROUND);

  _back.graphics.drawRect(0, 0, _width, _height);

  _back.graphics.endFill();

  _face.graphics.clear();

  _face.graphics.beginFill(Style.BUTTON_FACE);

  _face.graphics.drawRect(0, 0, _width - 2, _height - 2);

  _face.graphics.endFill();

  _label.autoSize = true;

  _label.text = _labelText;

  if(_label.width > _width - 4)

  {

  _label.autoSize = false;

  _label.width = _width - 4;

  }

  else

  {

  _label.autoSize = true;

  }

  _label.draw();

  _label.move(_width / 2 - _label.width / 2, _height / 2 - _label.height / 2);

  }

  ///////////////////////////////////

  // event handlers

  ///////////////////////////////////

  /**

  * Internal mouseOver handler.

  * @Param event The MouseEvent passed by the system.

  */

  protected function onMouseOver(event:MouseEvent):void

  {

  _over = true;

  addEventListener(MouseEvent.ROLL_OUT, onMouseOut);

  }

  /**

  * Internal mouseOut handler.

  * @Param event The MouseEvent passed by the system.

  */

  protected function onMouseOut(event:MouseEvent):void

  {

  _over = false;

  if(!_down)

  {

  _face.filters = [getShadow(1)];

  }

  removeEventListener(MouseEvent.ROLL_OUT, onMouseOut);

  }

  /**

  * Internal mouseOut handler.

  * @Param event The MouseEvent passed by the system.

  */

  protected function onMouseDown(event:MouseEvent):void

  {

  _down = true;

  _face.filters = [getShadow(1, true)];

  stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);

  }

  /**

  * Internal mouseUp handler.

  * @Param event The MouseEvent passed by the system.

  */

  

  protected function onMouseUp(event:MouseEvent):void

  {

  if(_toggle  && _over)

  {

  _selected = !_selected;

  }

  _down = _selected;

  _face.filters = [getShadow(1, _selected)];

  stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);

  }

  ///////////////////////////////////

  // getter/setters

  ///////////////////////////////////

  /**

  * Sets / gets the label text shown on this Pushbutton.

  */

  public function set label(str:String):void

  {

  _labelText = str;

  draw();

  }

  public function get label():String

  {

  return _labelText;

  }

  public function set selected(value:Boolean):void

  {

  if(!_toggle)

  {

  value = false;

  }

  _selected = value;

  _down = _selected;

  _face.filters = [getShadow(1, _selected)];

  }

  public function get selected():Boolean

  {

  return _selected;

  }

  public function set toggle(value:Boolean):void

  {

  _toggle = value;

  }

  public function get toggle():Boolean

  {

  return _toggle;

  }

  }

}

TOPICS
ActionScript
445
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
May 16, 2016 May 16, 2016
LATEST

your component class needs to extend or implement an event displatcher.

but it may already do that and you just need to change the names of onMouseUp, for example, to onMouseUpF.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines