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

本文展示了如何使用AS3实现文本框的拖拽与点击编辑功能,直接修改数值,提升用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

于是就用好久没编写的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这个平台

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值