热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mc内的按钮影响代码-buttonsinsidemcaffectingthecode

IhaveamovieClipwithtwobuttonsinside.我有一个带有两个按钮的movieClip。Theproblemisthatwhenthemous

I have a movieClip with two buttons inside.

我有一个带有两个按钮的movieClip。

The problem is that when the mouse is over these two buttons, the code that manages the movieClip stops working, as if the mouse is not over the MC (the buttons are children of the MC, shouldn't it work regardless?).

问题是,当鼠标悬停在这两个按钮上时,管理movieClip的代码将停止工作,就像鼠标不在MC上一样(按钮是MC的子代,不管它不管怎么办?)。

Could you please share some advice? Thanks

你能分享一些建议吗?谢谢

/*mc follows mouse. I can't click btns because when mouse rollover  btns the mc moves*/
function showImgOptions (e:Event):void{
    if (mc.hitTestPoint(mouseX,mouseY,false)){
        mc.y = mc.y;
        mc.x = mc.x;
    }else{
        var delayX:int = mc.x - mouseX;
        var delayY:int = mc.y - mouseY;
        mc.x -= delayX / 6;
        mc.y -= delayY/6;
    }
}
mc.btn1.addEventListener (MouseEvent.CLICK, closeClick);
mc.btn2.addEventListener (MouseEvent.CLICK, zoomClick);
function closeClick (e:MouseEvent):void{}
function zoomClick (e:MouseEvent):void{}
stage.addEventListener (Event.ENTER_FRAME, showImgOptions);
addChild (mc);

Changed the code to:

将代码更改为:

var mc:menuMC = new menuMC();

addChild(mc);

var p:Point = mc.localToGlobal(new Point(mc.mouseX,mc.mouseY));

/*mc follows mouse. I can't click btns because when mouse rollover  btns the mc moves*/
function showImgOptions (e:Event):void
{

    if (! mc.hitTestPoint(p.x,p.y,false))
    {
        mc.y = mc.y;
        mc.x = mc.x;
    }else{
        //move mc towards mc.parent's mouseX and mouseY
        var delayX:int = mc.x - mouseX;
        var delayY:int = mc.y - mouseY;
        mc.x -= delayX / 6;
        mc.y-=delayY/6;
    }
}

mc.btn1.addEventListener (MouseEvent.CLICK, closeClick);
mc.btn2.addEventListener (MouseEvent.CLICK, zoomClick);
function closeClick (e:MouseEvent):void
{
}
function zoomClick (e:MouseEvent):void
{
}
stage.addEventListener (Event.ENTER_FRAME, showImgOptions);

And now I get this error:

现在我收到这个错误:

TypeError: Error #1010: A term is undefined and has no properties.

Here you can download an FLA. Test it and try to click on the buttons 1 and 2, inside the MC following the mouse

在这里,您可以下载FLA。测试它并尝试单击鼠标内MC后面的按钮1和2

2 个解决方案

#1


0  

hitTestPoint expects stage coordinates:

hitTestPoint需要阶段坐标:

The x and y parameters specify a point in the coordinate space of the Stage, not the display object container that contains the display object (unless that display object container is the Stage).

x和y参数指定舞台坐标空间中的一个点,而不是包含显示对象的显示对象容器(除非该显示对象容器是舞台)。

Use localToGlobal to get the stage coordinates:

使用localToGlobal获取舞台坐标:

var p:Point = mc.localToGlobal(new Point(mc.mouseX, mc.mouseY));
if(!mc.hitTestPoint(p.x, p.y,false))
{
  //move mc towards mc.parent's mouseX and mouseY
}

#2


0  

Solved it!!

Changed the code. I don't know if this helps anybody, but I hope so. Thanks to you all.

更改了代码。我不知道这对任何人都有帮助,但我希望如此。谢谢大家。

stage.addEventListener(Event.ENTER_FRAME, moveMC);

var mc:menuMC = new menuMC();

addChild(mc);

function moveMC(e:Event):void {
 if (mc.hitTestObject(big_mc)) {
  mc.visible = true;
 } else {
  mc.visible = false;
 }
 if (mc.hitTestPoint(mouseX,mouseY,false)) {
  mc.y = mc.y;
  mc.x = mc.x;
 } else {
  var delayX:int = mc.x - mouseX;
  var delayY:int = mc.y - mouseY;
  mc.x -= delayX / 6;
  mc.y-=delayY/6;
 }
}


mc.btn1.addEventListener(MouseEvent.CLICK, onBtn1);
mc.btn2.addEventListener(MouseEvent.CLICK, onBtn2);


function onBtn1(e:MouseEvent):void {
 trace("do something");
}
function onBtn2(e:MouseEvent):void {
 trace("do something else");
}

推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了brain的意思、读音、翻译、用法、发音、词组、同反义词等内容,以及脑新东方在线英语词典的相关信息。还包括了brain的词汇搭配、形容词和名词的用法,以及与brain相关的短语和词组。此外,还介绍了与brain相关的医学术语和智囊团等相关内容。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 集合的遍历方式及其局限性
    本文介绍了Java中集合的遍历方式,重点介绍了for-each语句的用法和优势。同时指出了for-each语句无法引用数组或集合的索引的局限性。通过示例代码展示了for-each语句的使用方法,并提供了改写为for语句版本的方法。 ... [详细]
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • 本文介绍了Python函数的定义与调用的方法,以及函数的作用,包括增强代码的可读性和重用性。文章详细解释了函数的定义与调用的语法和规则,以及函数的参数和返回值的用法。同时,还介绍了函数返回值的多种情况和多个值的返回方式。通过学习本文,读者可以更好地理解和使用Python函数,提高代码的可读性和重用性。 ... [详细]
author-avatar
U友48805799
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有