码迷,mamicode.com
首页 > 其他好文 > 详细

as3文本框的动态拖拽和编辑

时间:2015-07-01 06:16:43      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:as3   action   script   文本   拖拽   

现在很多软件都支持了编辑界面的文本拖拽和点击编辑来直接修改数值, 这样便于操作, 而且体验性也好, 抛砖引玉吧

于是就用好久没编写的as3来写了一下:

因为用的flash ide写的没有提示, 就暂时不做细节处理了, 如果用于工程上会有点小问题, 不过不影响本效果展示

技术分享

代码:

import flash.text.TextField;
import flash.events.*

var txtDragValue:TextField;
txtDragValue.selectable = false;
var isDown:Boolean = false;
var oldTxtValue:int = 0;
var posXOld:int = 0;
var isMoved:Boolean = false;

function evt_down(e:Event){
    isDown = true;
    isMoved = false;
    oldTxtValue = int(txtDragValue.text);
    posXOld = mouseX;
}
function evt_move(e:Event){
    if(!isDown || txtDragValue.selectable)return;
    var tmpX:int  =  int(mouseX)
    if(posXOld!=tmpX){
        isMoved = true;
        oldTxtValue+= (tmpX-posXOld)*1;
        posXOld = tmpX;
        txtDragValue.text = oldTxtValue.toString();
        trace(oldTxtValue.toString());
    }
}
function evt_up(e:Event){
    isDown = false;
    if(!isMoved){
        txtDragValue.selectable = true;
        txtDragValue.type = "input";
        stage.focus=txtDragValue
    }
}
function evt_dea(e:Event){
    if(!isMoved && txtDragValue.selectable){
        txtDragValue.selectable = false;
        txtDragValue.type = "dynamic";
    }
}

txtDragValue.addEventListener(MouseEvent.MOUSE_DOWN,evt_down);
txtDragValue.addEventListener(MouseEvent.MOUSE_MOVE,evt_move);
txtDragValue.addEventListener(MouseEvent.MOUSE_UP,evt_up);

txtDragValue.addEventListener(FocusEvent.FOCUS_OUT,evt_dea);

资源地址:
链接: http://pan.baidu.com/s/1gd3wsRx 密码: 668g

回顾使用这么多种语言和引擎, 感觉flash还有发展的空间, 只是adobe对它力不从心, 如果as4有的话, 希望来个c++版本(猜跨平台会很费劲)的内核, 速度会上来. 感觉flash还是太散了, 因为较早开发的软件, 用途也过于广泛, 导致它什么都能做, 什么也做不好, 什么都要自己去写或者去找, 不过还好, 其中有很多大牛的引擎比如tween-lite轻量化的运动模块和box2d-as3版, 都能很高效的支持as3这个平台

版权声明:本文为博主原创文章,未经博主允许不得转载。

as3文本框的动态拖拽和编辑

标签:as3   action   script   文本   拖拽   

原文地址:http://blog.csdn.net/zszeng/article/details/46704741

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!