hittestobject拖放多个功能
问题描述:
我有麻烦使这个代码functionnal,我很新的编码和每天学习,所以很抱歉,如果这个问题看起来很愚蠢。hittestobject拖放多个功能
这里就是我至今:
- A1是一个拖放对象
- A2是一个区域,其中A1为它下降,在文本字段添加值5
- A3是一个区域,其中A1为它下跌,。减去一个文本框的值5
A1开始在A3区,当我拖到A1至A2,它表明5,如果我拖回到a3,它显示0,所以它是窝rking如预期
现在我挣扎:
- 不加5,如果我移动A1至A2,A1时,已经在A2代码。
- 如果我将a1移动到a3,而a1在a3上已经变为ALREADY,则代码不会减去5。
这里是我的代码:
var myTextBox:TextField = new TextField();
var myTextBox2:TextField = new TextField();
addChild(myTextBox2);
myTextBox2.width = 200;
myTextBox2.height = 100;
myTextBox2.x = 100;
myTextBox2.y = 20;
a1.addEventListener(MouseEvent.MOUSE_DOWN, drag);
stage.addEventListener(MouseEvent.MOUSE_UP, drop);
function drag(e:MouseEvent):void
{
e.target.startDrag();
}
function drop(e:MouseEvent):void
{
stopDrag();
if (a1.hitTestObject(a2))
{
myTextBox.text = "5";
var r:String=String(uint(myTextBox.text)+uint(myTextBox2.text));
myTextBox2.text=r;
}
if (a1.hitTestObject(a3))
{
myTextBox.text = "5";
var r2:String=String(uint(myTextBox2.text)-uint(myTextBox.text));
myTextBox2.text=r2;
}
else
{
trace("No collision.");
}
}
我不认为这是太复杂了,但我没有知识又使其工作,任何援助将不胜感激!谢谢!
答
好吧,找到一个方法,发布代码以防万一需要它,或者如果有人有更好的代码,总是想学习!谢谢 !
添加了一个名为A4测试多个拖放可移动物体对象
var myTextBox:TextField = new TextField();
var myTextBox2:TextField = new TextField();
var myTextBox3:TextField = new TextField();
addChild(myTextBox2);
myTextBox2.width = 200;
myTextBox2.height = 100;
myTextBox2.x = 100;
myTextBox2.y = 20;
a1.addEventListener(MouseEvent.MOUSE_DOWN, drag);
a1.addEventListener(MouseEvent.MOUSE_UP, drop);
a4.addEventListener(MouseEvent.MOUSE_DOWN, drag);
a4.addEventListener(MouseEvent.MOUSE_UP, drop);
function drag(e:MouseEvent):void
{
if (e.target.hitTestObject(a2))
{
e.target.startDrag();
myTextBox.text = "0";
myTextBox3.text = "5";
}
if (e.target.hitTestObject(a3))
{
e.target.startDrag();
myTextBox.text = "5";
myTextBox3.text = "0";
}
}
function drop(e:MouseEvent):void
{
stopDrag();
if (e.target.hitTestObject(a2))
{
var r:String=String(uint(myTextBox.text)+uint(myTextBox2.text));
myTextBox2.text=r;
}
if (e.target.hitTestObject(a3))
{
var r2:String=String(uint(myTextBox2.text)-uint(myTextBox3.text));
myTextBox2.text=r2;
}
}