小编Nea*_*vis的帖子

如何模拟链物理(游戏设计)

我正在尝试为游戏创建一系列移动对象(AS3).到目前为止,我可以将对象拖到另一个对象后面,但我所能做的就是根据距离使链接更接近另一个链接.它不现实地工作,它仍然只遵循一个方向.如果我试图将链条向相反的方向拉,它就不起作用了.

我需要一个公式来拉动任何链接后面的链条.

我还需要一个公式,使链接在静止时落在链的其余部分之下.我现在设置它的方式,链接试图下降,但它们只是直接下降而不是被拉到链的其余部分之下.

有一些链和字符串教程,但它们似乎都没有引入重力或双向牵引.

在此输入图像描述

actionscript-3 game-physics

5
推荐指数
1
解决办法
1068
查看次数

在项目中嵌入 Json 文件

在 AS3 中,我可以嵌入 Json 文件,如下所示:

[Embed(source = "controllers.json", mimeType='application/octet-stream')]
private static const JSON_CONTROLLERS:Class;
Run Code Online (Sandbox Code Playgroud)

Haxe 中是否有等效的方法可以做到这一点?

如果没有,我有什么选择?

haxe

4
推荐指数
1
解决办法
676
查看次数

AS3 addEventListener不是我的自定义类中的可识别方法

我希望有一个名为Class的类Commands,我可以将不同的按键和功能放入其中,以控制游戏状态和变量,以便快速轻松地进行游戏测试.我正在尝试这个,但它不起作用......

package gameTesting {
    import flash.events.KeyboardEvent;
    import flash.events.*;
    import flash.ui.Keyboard;
    import flash.display.*;
    import flash.events.EventDispatcher;

    public class Commands {

        public function Commands() {
            addEventListeners();
        }

        public function addEventListeners():void{
            addEventListener(KeyboardEvent.KEY_DOWN,keyDown);
        }

        public function keyDown(ke:KeyboardEvent):void{
            trace("key pressed");
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

这引发了这个错误:

C:...\Commands.as, Line 15, Column 4    1180: Call to a possibly undefined method addEventListener.
Run Code Online (Sandbox Code Playgroud)

所以,我尝试让我的类扩展继承EventDispatcher方法的东西:

//...
    public class Commands extends DisplayObject{
// ...
Run Code Online (Sandbox Code Playgroud)

但是.as当我尝试实例化这个类时,我只是从我的主文件中抛出此错误:

ArgumentError: Error #2012: Commands$ class cannot be instantiated.
Run Code Online (Sandbox Code Playgroud)

我也试过抛出static关键字只是为了lols,但没有骰子.

我在这里错过了什么?

顺便说一句,我这样做的原因只是因为我可以通过简单地删除实例化这个类的代码行来删除这个功能(因此用户不能使用它).我觉得这很漂亮,但是如果这看起来像是asinine,那么一定要说出来!

actionscript-3

2
推荐指数
1
解决办法
70
查看次数

如何根据鼠标位置更改MovieClip透明度?

所以,我正在尝试制作一个矩形网格,每个矩形网格越接近它就越透明.

使用一些基本的数学,我以为我已经得到它,但似乎我有一个奇怪的图形错误(可能?)显示在这里:

在此输入图像描述

环的中间是鼠标所在的位置.

处理透明度的部分代码:

private function update(e:Event = null):void
{
    for (var i:int = 0; i < buttons.length; i++) {
        lightFact = getDistance(buttons[i])
        lightBrightness = lightPower - (lightFact * 10)
        buttons[i].alpha = lightBrightness
    }
}
Run Code Online (Sandbox Code Playgroud)

getDistance只是从块到鼠标的距离.

如果重要的话,每个矩形都是一个影片剪辑.

graphics 2d rectangles actionscript-3

0
推荐指数
1
解决办法
100
查看次数

标签 统计

actionscript-3 ×3

2d ×1

game-physics ×1

graphics ×1

haxe ×1

rectangles ×1