当前位置: 首页IT技术 → 使用AS3.0让你的Flash课件实现即点即输功能

使用AS3.0让你的Flash课件实现即点即输功能

更多

  让Flash课件实现即点即输的功能。在word中有即点即输的功能,在word文档的任何位置点击,都可以实现在该位置输入文字。在Flash课件中,有时候我们也需要在某些位置即时的输入一些文字,如:备注或评论啥的。我们有多种方法实现这一功能。今天我们使用TextField类来实现即点即输。我们先来说说我们要使用到的部分属性:

  1、TextField.type属性--该属性用来确定我们创建的文本域是否可以输入文字。它具有两种不同的常量值:TextFieldType.DYNAMIC和TextFieldType.INPUT。前者告诉我们文本域不可以即时输入文本,而后者则允许文本输入。

  2、TextField.wordWrap属性--该属性是个布尔类型属性,当设置为true时,文本可以实现自动换行;设置为false时,则不会自动换行。

  3、TextField.background--该属性相当于是否显示文本背景颜色的开关。设置为true,文本则会显示我们设置的背景色,背景色则由backgroundColor=0xffffff来指定。

  4、TextField.border--该属性相当于是否显示文本域边框的开关,设置为true,则文本域会显示边框线条,线条的颜色则由borderColor 属性来确定。

  5、stage.focus--该属性用来确定舞台的焦点。我们把舞台的焦点交给文本域,这样保证文本域及时的获取焦点,确保即点即输。

  下面我们来说说本实例的功能和具体实现步骤:

  当我们打开实例时,鼠标在舞台上移动,此时会有提示类文本域随着鼠标移动,提示语为“即点即输”。当我们在舞台上任意位置点击时,鼠标会变为我们熟悉的文本输入状态,我们就可以输入文字了。

  代码很简单的。只用到了两个鼠标事件,分别为MouseEvent.MOUSE_MOVE和MouseEvent.CLICK,前者用来实现鼠标移动时,显示提示语,后者单击鼠标实现文本输入。

  代码:

  import flash.events.MouseEvent;

  import flash.text.TextField;

  //http://www.flashabc.net/post/Flash_jidianjishu.html

  var pd:Boolean = true;

  var tip:TextField=new TextField();

  var myText:TextField

  stage.addEventListener(MouseEvent.MOUSE_MOVE,onmove);

  stage.addEventListener(MouseEvent.CLICK,onclick);

  function onmove(event:MouseEvent ):void

  {

   addChild(tip);

   tip.text = "即点即输";

   tip.background = true;

   tip.border = true;

   tip.x = mouseX;

   tip.y = mouseY - 20;

   tip.height = 20;

   tip.width = 55;

   stage.focus = stage;

  }

  function onclick(event:MouseEvent ):void

  {

   if (pd)

   {

   removeChild(tip);

   stage.removeEventListener(MouseEvent.MOUSE_MOVE,onmove);

   }

   pd = false;

   myText=new TextField()

   myText.type = TextFieldType.INPUT;

   myText.text = "";

   addChild(myText);

   myText.x = mouseX - 5;

   myText.y = mouseY - 10;

   myText.wordWrap = true;

   myText.autoSize = TextFieldAutoSize.LEFT;

   stage.focus = myText;

  }

热门评论
最新评论
昵称:
表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
字数: 0/500 (您的评论需要经过审核才能显示)