前些日子我的项目经理叫我研究一下如何用FLASH做一个文本框,让这个文本框可以拖大拖小,到处移动,要求的效果如下http://www.vistaprint.jp/note-cards-multi.aspx?xnav=top
这是日本的一个网站做的,很好,很强大,可以在网页上实现一个文本框的拖大拖小,到处移动,还能输入数据,我到现在还没解决这个问题,还有那8个浮标指针,不知道该如何解决,如果能把FLASH的文本编辑状态运行到页面上,那么我的问题就解决了,可是如何把FLASH的编辑状态弄到页面上编辑呢?这又是一个我解决不了的问题,没办法,我只能认输...
不过,在研究这个问题的这段时间里,我也有一点小小的成就,现在拿出来给大家看看,希望高手们能指教指教!
var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());//设置一个剪切影片
var txt:TextField = mc.createTextField("txt", mc.getNextHighestDepth(), 0, 0, 50, 22);//在剪切影片上设置一个文本框
var moveTxt:TextField = mc.createTextField("moveTxt", mc.getNextHighestDepth(), 0, 22, 50, 22);//设置第二个文本框
var mct:MovieClip = this.createEmptyMovieClip("mct", this.getNextHighestDepth());//设置第二个剪切影片
var bt:TextField = mct.createTextField("moveTxt", mc.getNextHighestDepth(), 0, 0, 50, 22);//在这个剪切影片上设置一个文本框
bt.border = true;//定义文本框的属性
bt.text = "move";
moveTxt.border = true;
moveTxt.autoSize = "left";
moveTxt.type = "dynamic";
moveTxt.text = "luoyifan";
txt.border = false;
txt.type = "input";
txt.autoSize = false;
txt.multiline = true;
txt.text = "Click";
//第一个剪切影片拖动时
mc.onPress = function() {
startDrag(this, false, 0, 0, 300, 300);
Selection.setFocus(txt);//将它的第一个文本框聚焦,聚焦后就可以写入了
txt.autoSize = false;
};
//第一个剪切影片拖动之后
mc.onRelease = function() {
mc.txt.border = true;
mc.txt._width = mct._x - mc._x;//改变框的大小
mc.txt._height = mct._y - mc._y;
stopDrag();
};
//当鼠标移到第一个剪切影片时,其第一个文本框边缘显示
mc.onMouseMove = function() {
if (mc.hitTest(_root._xmouse, _root._ymouse, true)) {
txt.border = true;
} else {
txt.border = false;
}
moveTxt.text = "X:"+mc._x+",Y:"+mc._y;
};
//第二个剪切影片移动时
mct.onPress = function() {
startDrag(this, false, 0, 0, 300, 300);
};
mct.onRelease = mc.bt.onReleaseOutside=function () {
mc.txt.border = true;
mc.txt._width = mct._x - mc._x;//改变文本框大小
mc.txt._height = mct._y - mc._y;
stopDrag();
};
//显示剪切影片坐标
mct.onMouseMove = function(){
bt.text = "X:"+mct._x+",Y:"+mct._y;
}