· 在线留言 · 关于我们
全国7X24小时服务热线:
029-8831-1253
 
当前位置:首页>信息化频道>常见问题

常见问题

AS3 动态文本的拖动与旋转
西安软件公司, 西安软件开发 http://www.jzsoftit.com , 西安网站建设, 西安网站制作 http://www.jzsoftit.cn


代码如下:


package

{

import flash.display.Sprite;

import flash.events.MouseEvent;

import flash.text.TextField;

import flash.text.TextFormat;

/**

* ...

* @author FLASH023

*/

public class Main extends Sprite

{

private var now_box:TextBox;

public function Main():void {

var _p:int = 12;

while (_p--) {

var _box:TextBox = new TextBox ();

_box.x = 100+Math.random () * 550;

_box.y = 100 + Math.random () * 400;

_box.rotationZ = Math.random () * 360;

_box.addEventListener (MouseEvent.CLICK, onClick);

addChild (_box);

}

}

private function onClick(_evt:MouseEvent ):void {

var _box:TextBox = _evt.target as TextBox;

if (_box) {

now_box&&(now_box.focus = false);

_box.focus = true; 

now_box = _box;

}

}

}

}

import flash.display.Sprite;

import flash.events.Event;

import flash.text.TextField;

import flash.events.MouseEvent;

class TextBox extends Sprite {

private var r_btn:Sprite;

private var p_txt:TextField;

public function TextBox():void {

p_txt = addChild (new TextField) as TextField ;

p_txt.autoSize = "left";

p_txt.text = "测试文本";

p_txt.selectable = false;

p_txt.mouseEnabled = false;

p_txt.x = width * -.5;

p_txt.y = height * -.5;

p_txt.borderColor = 0x333399;

r_btn = addChild (new Sprite) as Sprite;

r_btn.graphics.beginFill (0x333399,.6);

r_btn.graphics.drawCircle (0, 0, 5);

r_btn.x = p_txt.width * .5;

r_btn.y = -p_txt.height * .5;

r_btn.visible = false;

r_btn.buttonMode = true;

addEventListener (MouseEvent.MOUSE_DOWN, mouseDown );

}

private function mouseDown(_evt:MouseEvent ):void {

if (_evt.target != r_btn) {

startDrag ();

}else{

addEventListener (Event.ENTER_FRAME, startRing );

}

stage.addEventListener (MouseEvent.MOUSE_UP, mouseUp);

}

private function startRing(_evt:Event):void {

rotationZ = Math.atan2 (parent.mouseY - y, parent.mouseX - x) / Math.PI * 180;

}

private function mouseUp(_evt:MouseEvent ):void {

stopDrag();

removeEventListener (Event.ENTER_FRAME, startRing );

stage.removeEventListener (MouseEvent.MOUSE_UP, mouseUp);

}

public function set focus(_b:Boolean):void {

r_btn.visible = _b;

p_txt.border = _b;

}

}
 

关于我们  | 果蔬质量追溯系统  | 网站建设  | 网站推广  | 网站运营  | 软件开发  | 软硬件集成  | 软件选型  | 软件外包  | 系统托管  | 成功案例   | IT硬件  | 常见问题  | 在线留言  |  联系方式
  © 2005 www.jzsoftit.com  西安捷众软件科技有限公司 版权所有
地址:西安市高新区科技路东口中天国际B座19层 电话:029-88311253   QQ:1009213309  Email:jzsoftit@163.com