首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在两个电影剪辑中使用Graphics类API的错误

在两个电影剪辑中使用Graphics类API的错误
EN

Stack Overflow用户
提问于 2014-02-13 17:03:14
回答 1查看 66关注 0票数 0

我有两个电影剪辑,是通过AS3添加到舞台使用闪光开发,一个电影剪辑命名为playerHook和其他fisherman。这两个函数都被添加到我的主构造函数中,如下所示:

代码语言:javascript
复制
fisherman = new mcFisherman;
stage.addChild(fisherman);
fisherman.x = (stage.stageWidth / 2) + 250;
fisherman.y = (stage.stageHeight / 2) - 100;

我有一个单独的函数playerHookLine();,它由我的主事件enter frame gameloop调用。

此函数使用一条线连接两个影片剪辑,其作用类似于钓鱼线。它做得非常好。

我遇到的问题是,当我开始玩游戏时,我的钩线不能像我的playerHook视频剪辑那样注册HitTestObject

我已经设法调整了一点代码,它确实开始注册,但没有一个点应该是连接的线是正确的,它到处都是。下面是该函数的代码:

代码语言:javascript
复制
private function playerHookLine():void 
{
    graphics.clear();
    graphics.lineStyle(1, 0, 1);
    graphics.moveTo(fisherman.x, fisherman.y);
    graphics.curveTo(playerHook.x, playerHook.y, mouseX, mouseY);

}

当我将代码更改为以下代码时:

代码语言:javascript
复制
private function playerHookLine():void 
{
    playerHook.graphics.clear();
    playerHook.graphics.lineStyle(1, 0, 1);
    playerHook.graphics.moveTo(fisherman.x, fisherman.y);
    playerHook.graphics.curveTo(playerHook.x, playerHook.y, mouseX, mouseY);
}

然后,它将hitTest与钩子一起注册,但是该行不再处于正确的位置。我做错了什么,我应该如何正确使用Graphics API代码?我想要的线路和playerHook都与屏幕上的敌人hitTest,但我也希望线路仍然连接到渔夫和PlayerHook。

最后,我的playerHook是由鼠标控制的。所以鼠标移动到哪里,它就移动到哪里。

这是我到目前为止所知道的:

代码语言:javascript
复制
private function playerHookLine():void 
    {


        var playerHookGlobalPos:Point = playerHook.localToGlobal(new Point());
        var fishermanGlobalPos:Point = fisherman.localToGlobal(new Point());

        playerHook.graphics.clear();
        playerHook.graphics.lineStyle(1, 0, 1);
        playerHook.graphics.moveTo(fisherman.x, fisherman.y);
        playerHook.graphics.curveTo(playerHookGlobalPos.x, playerHookGlobalPos.y, mouseX, mouseY);


    }

但它不起作用

EN

回答 1

Stack Overflow用户

发布于 2014-02-13 17:52:26

两者之间有很大的区别,

graphics.moveTo(fisherman.x, fisherman.y); //指的是主类,即Super类。(阶段(全局)坐标)

playerHook.graphics.moveTo(fisherman.x, fisherman.y); //引用playerHook对象(本地坐标)。

根据你提供的信息,我认为你必须使用,

globalToLocal()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21749424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档