标签: actionscript-3

在倒计时中添加或删除时间

我有一个计时器脚本:

import flash.utils.Timer;
import flash.events.TimerEvent;

var secs:Number = 30;//second
var mins:Number = 2;//minute
var sec_t:String;
var min_t:String;

var my_timer:Timer = new Timer(1000);
my_timer.addEventListener(TimerEvent.TIMER, timerHandler);
my_timer.start();
showTimer.text = "02:30";

function timerHandler(event:TimerEvent):void
{
    if (secs == 0)
    {
        if (mins == 0)
        {
            my_timer.stop();
            trace("Countdown is finished.");
            showTimer.text =String(min_t+sec_t)+" Times Up";
            return;
        }
        else
        {
            --mins;
            secs = 59;
        }
    }
    else
    {
        --secs;
    }
    sec_t = (secs < 10) ? "0" + String(secs):String(secs);
    min_t = (mins < 10) ? "0" + …
Run Code Online (Sandbox Code Playgroud)

flash timer actionscript-3

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

以OOP正确方式存储常用功能的位置

我正在开展一个我想建立OO的项目.现在我带来了一个检查或值有效的函数.

private function valid(value:*, acceptedValues:Array):Boolean {
   for(var i:uint = 0; i < acceptedValues.length; i++) {
        if (value == acceptedValues[i]) {
            return true;
        }
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

如您所见,该函数非常通用,可以跨不同的类访问.现在我的问题是; 我在哪里以正确的方式存储它?

提前致谢!

oop scope actionscript-3

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

使随机数可被10整除

我知道将一个可被10整除的随机数表示它毕竟不是随机的,但坚持我.想象一下10x10像素的游戏网格.我想在游戏网格上随机放置一个10x10精灵.

除了让我的随机数函数返回可被10整除的随机数之外,我已经完成了所有工作.如果我给它一个10和50的范围,我希望它只返回10,20,30,40,50.你知道我的意思.

这是我的功能:

public function randomNumber(low:Number = 0, high:Number = 1):Number
{
    return Math.floor(Math.random() * (1 + high - low)) + low;
}
Run Code Online (Sandbox Code Playgroud)

我怎么能做到这一点?

谢谢!

random actionscript actionscript-3

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

错误:访问未定义的属性JSON ......但它就在那里

我正在开发一个使用AS3 Facebook API的Flash应用程序(Flash Player 11作为目标平台),后者又使用as3corelib JSON功能.或者至少它应该这样做.

但是,尽管包含as3corelib.swc 的最新版本(.93),我仍然得到"错误:未定义属性JSON的访问".我也试过直接包括这些来源,但无济于事.

我有什么想法我做错了吗?

正如我所说,*.swc肯定包括在内.和源代码一样(都在正确的路径上).

编辑:

我有一个更具体的错误消息:

Error: Can not resolve a multiname reference unambiguously. JSON (from C:\Coding\FlashDevelop\Tools\flexsdk\frameworks\libs\air\airglobal.swc(JSON, Walker)) and com.adobe.serialization.json:JSON (from C:\flash_test\lib\as3corelib.swc)) are available.
Run Code Online (Sandbox Code Playgroud)

我知道JSON包含在AIR中,但我没有针对AIR,所以为什么尝试包含airglobal.swc?

flash flashdevelop actionscript-3 facebook-graph-api

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

有关ActionScript 3中xml反序列化的最佳实践是什么?

有关ActionScript 3中xml反序列化的最佳实践是什么?

我正在开发一款实时的多人Facebook游戏.我更喜欢用Flash编写客户端.此外,服务器端是用Java编写的.服务器和客户端之间的通信带有"socket".服务器和客户端相互发送xml.正如可能预期的那样,Xmls包含"对象",这些对象派生自位于两侧的类.类名称和属性是同步的.

谈到我的问题,我在actionscript端尝试了一些用于序列化和反序列化的库.但是大多数都不能完全发挥作用.

例如;

Asx3mer.instance.fromXML(xmlObj)

此库不会将xml转换为具有Array属性的对象,并且该数组包含另一个数组(我的意思是嵌套数组).

你能帮我解决这个问题吗?

谢谢.


起初,我选择了json进行自动序列化.但是当我反序列化json对象时,它被转换为类型为"Object"的对象.每次我都不得不在json字符串中放置一个标识符来处理它的类型.

我研究过AMF,但正如你所提到的,AMF使用它的消息传递标准,我认为在服务器端处理反序列化对象可能很困难(但现在,我的选择表明客户端反序列化变得难以处理).

xml serialization actionscript actionscript-3 deserialization

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

命名按钮组件AS3

如何通过AS3按钮组件命名?

我有3个按钮组件:BackButton,ForwardButton和PlayButton.

我已通过属性面板命名它们(其中显示"实例名称").

但是一旦我点击它们并检查我收到的event.target.name,总是'button_mc'.

我怎么能命名按钮?

flash actionscript-3 flash-component

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

AS3文本字段,截断

我有一个文本字段,动态调整其宽度以适应屏幕.我希望文本被截断并附加'...',如果它不适合.但是,如何知道文本值是否长于可用的文本字段宽度?

actionscript-3

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

如何保存影片剪辑的x/y坐标?

您好我在AS3中完成了一个项目,但我需要的最后一件事是保存/加载功能.

我只需要保存单个影片剪辑的"x",并在程序开始后立即加载.我搜索了几个小时但没有找到答案.我不确定它是否应该在类文件或主时间轴中,因为它是一个非常简单的变量.重点是按一个按钮或几个按钮以640px的间隔更改背景.任何帮助将不胜感激,因为我对AS3很新.

在此先感谢,如果有人想提供令人惊叹的样本编码.

actionscript-3 flash-cs5

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

为什么在ActionScript中迭代通用对象会给我值而不是键?

我可能正在做一些非常愚蠢的事情,但我不明白为什么下面的代码不起作用......

在这里,我创建了一个名为spellbook的通用对象:

// A list of all the player's spells
public var spellBook:Object = {};
Run Code Online (Sandbox Code Playgroud)

在这里,我为法术书添加了一个键值对:

spellBook["bubble"] = new BubbleSpell(spellBook);
Run Code Online (Sandbox Code Playgroud)

在这里,我尝试输出法术书的内容:

trace("Spells initialised.  Available spells are:");
for each (var _spell:String in spellBook)
{
    trace("  ", _spell, " : ", spellBook[_spell]);
}
Run Code Online (Sandbox Code Playgroud)

但这是我得到的输出:

Spells initialised.  Available spells are:
   [object BubbleSpell]  :  undefined
Run Code Online (Sandbox Code Playgroud)

我没有得到的是为什么它没有输出:

Spells initialised.  Available spells are:
   bubble : [object BubbleSpell]
Run Code Online (Sandbox Code Playgroud)

??

这就好像我正在迭代法术书中的值,而不是关键......那是怎么回事?到目前为止我看到的所有文档似乎都表明这是迭代字典的正确方法(通用对象类型是...)我是否需要调用方法来获取键而不是泛型的值对象?

如此迷茫!

dictionary actionscript-3

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

调整Actionscript中的图像大小

我试图通过使用Loader和URL在Actionscript中获取图像.图像很好,我可以在事件完成后在屏幕上显示.我想要做的是在屏幕上调整图像大小.我无法做到这一点.我该怎么办?

我尝试设置loader.content.width这是行不通的.我尝试设置loader.content.scaleX也没用.我是新手,我做错了什么?

flash actionscript-3

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