AS3 游戏库存页面

Posted

技术标签:

【中文标题】AS3 游戏库存页面【英文标题】:AS3 Game Inventory Pages 【发布时间】:2018-03-27 12:08:05 【问题描述】:

我是 AS3 的新手,我决定制作一个简单的拖放装饰游戏以开始使用。我的问题是,当我单击箭头时,我无法弄清楚如何制作另一页项目;还可以浏览项目的类别。

这是游戏SWF的示例

还有一个问题。我对每个项目都使用此代码。有没有办法让这段代码更紧凑,而不是为每个项目复制和粘贴代码?

var Clone1:MovieClip;

Ground01.addEventListener(MouseEvent.MOUSE_DOWN, GroundPressed);
function GroundPressed(event:MouseEvent):void

    Clone1 = new ground01();
    Clone1.x = 132;
    Clone1.y = -123;
    addChild(Clone1);
    Clone1.startDrag();
    Clone1.addEventListener(MouseEvent.MOUSE_DOWN,onClonedPlusPressed1);


function onClonedPlusPressed1(event:MouseEvent):void

    Clone1 = MovieClip(event.currentTarget);
    Clone1.startDrag();


stage.addEventListener(MouseEvent.MOUSE_UP, onStageReleased1);

function onStageReleased1(event:MouseEvent):void

    if(Clone1 != null)
        Clone1.stopDrag();
    
            if(Clone1.hitTestObject(Trashcan)) 
        removeChild(Clone1); 
        Clone1 = null;
    

【问题讨论】:

“如何制作另一页项目” 创建一个新的 Sprite 或 MovieClip(然后双击该对象以编辑它自己的时间线,例如为文本和图形添加图层) .使用这个新的 MClip 是你的容器。寻找有关 AS3 链接的教程。然后 add/removeChild 可以显示/隐藏内容。 【参考方案1】:

假设您不熟悉动作脚本 3 和编程,在任何编程语言中,您始终可以重用函数,以克隆 GroundPressed() 函数为例:

function GroundPressed(event:MouseEvent):void

    Clone1 = new ground01();
    Clone1.x = 132;
    Clone1.y = -123;
    addChild(Clone1);
    Clone1.startDrag();
    Clone1.addEventListener(MouseEvent.MOUSE_DOWN,onClonedPlusPressed1);

您可以随时重复使用此功能并应用到您的每个影片剪辑

像这样:

Ground01.addEventListener(MouseEvent.MOUSE_DOWN, GroundPressed);
Ground02.addEventListener(MouseEvent.MOUSE_DOWN, GroundPressed);
Ground03.addEventListener(MouseEvent.MOUSE_DOWN, GroundPressed);

如果您想让您的代码更加紧凑并节省编写额外的EventListener(),您可以将Ground01、Ground02、Ground03 组合成一个巨大的影片剪辑,应用单个EventListener()。要指向正确的孩子,您需要e.target()。我不记得实际的语法,但您的代码如下所示:

function GroundPressed(event:MouseEvent):void

    cloneItem = event.target;
    cloneItem.x = 132;
    cloneItem.y = -123;
    addChild(cloneItem);
    cloneItem.startDrag();
    cloneItem.addEventListener(MouseEvent.MOUSE_DOWN,onClonedPlusPressed1);

你可以阅读更多关于event.targethere的信息。

【讨论】:

以上是关于AS3 游戏库存页面的主要内容,如果未能解决你的问题,请参考以下文章

AS3 从 HTML 页面返回文本

php 在商店页面上添加库存数量

在 WooCommerce 的单个产品页面上隐藏某些产品的产品库存

markdown 将库存指示器按钮添加到产品页面

php 使用状态点在存档页面中添加库存状态

订单减库存设计