永发信息网

AS3语言,如何获取鼠标单击事件当前目标的坐标及对象(在线等)

答案:4  悬赏:40  手机版
解决时间 2021-11-30 11:20
  • 提问者网友:鐵馬踏冰河
  • 2021-11-29 18:12
AS3语言,如何获取鼠标单击事件当前目标的坐标及对象(在线等)
最佳答案
  • 五星知识达人网友:woshuo
  • 2021-11-29 19:33
你的11个图片都有自己的Sprite容器对吧?这11个容器的名字是什么?没有名字的话,起码也要有个数组储存对它们的引用吧?
Bitmap不继承InteractiveObject类,所以不听你的鼠标操作,监听事件要注册给它们的Sprite容器才行啊。要通过操作它们的容器的坐标,间接地改变它们自己的坐标。

public function btnMovePiece(e:MouseEvent)
{
Sprite(e.currentTarget)就是它的Sprite容器
Sprite(e.currentTarget).x\ Sprite(e.currentTarget).y就是坐标。
}
全部回答
  • 1楼网友:鸠书
  • 2021-11-29 21:34
public function btnMovePiece(e:MouseEvent)
{
trace("实例名称:"+e.currentTarget.name)
trace("X值:"+e.currentTarget.x + "Y值:"+e.currentTarget.y)
}
楼上那位朋友说的很明白了。
  • 2楼网友:第四晚心情
  • 2021-11-29 20:42
for (var i:uint=0; i<20; i++) {
var A:Rect=new Rect();
A.x = Math.random() * 450 + 50;
A.y = Math.random() * 300 + 50;
addChild(A)
A.addEventListener(MouseEvent.CLICK,go)
}
function go(event:MouseEvent){
trace("实例名称"+event.currentTarget.name)
trace("X值"+event.currentTarget.x+":"+"Y值"+event.currentTarget.y)
}追问提示访问的属性 event 未定义追答如果你连函数定义错误都不能解决的话,说明你只是把我的代码粘到了你的代码中,前后不一定义不一样肯定出错,不信你把我的代码放到一个新文件里测试。如果还出错,那就见鬼了。其实你只需要把
public function btnMovePiece(e:MouseEvent)
你的这行小括号里的e 换成event就行了。追问Rect 需要导入什么类? 提示它不是编译时常数追答Rect只是库元件的AS链接名称追问我是利用Loader加载外部文件的方法把图片加载进来,然后用copyPixels复制到每个位图里面。不是利用库元件链接类的方法
  • 3楼网友:过活
  • 2021-11-29 20:03
public function btnMovePiece(e:MouseEvent)
{
//请在这里写如何获取当前鼠标单击的图片坐标,及其对象。
var obj:Object=e.currentTarget;//这个就是对象
trace(obj.x);//坐标
trace(obj.y);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯