我有一个计时器脚本:
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) 我正在开展一个我想建立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)
如您所见,该函数非常通用,可以跨不同的类访问.现在我的问题是; 我在哪里以正确的方式存储它?
提前致谢!
我知道将一个可被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)
我怎么能做到这一点?
谢谢!
我正在开发一个使用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?
有关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
如何通过AS3按钮组件命名?
我有3个按钮组件:BackButton,ForwardButton和PlayButton.
我已通过属性面板命名它们(其中显示"实例名称").
但是一旦我点击它们并检查我收到的event.target.name,总是'button_mc'.
我怎么能命名按钮?
我有一个文本字段,动态调整其宽度以适应屏幕.我希望文本被截断并附加'...',如果它不适合.但是,如何知道文本值是否长于可用的文本字段宽度?
您好我在AS3中完成了一个项目,但我需要的最后一件事是保存/加载功能.
我只需要保存单个影片剪辑的"x",并在程序开始后立即加载.我搜索了几个小时但没有找到答案.我不确定它是否应该在类文件或主时间轴中,因为它是一个非常简单的变量.重点是按一个按钮或几个按钮以640px的间隔更改背景.任何帮助将不胜感激,因为我对AS3很新.
在此先感谢,如果有人想提供令人惊叹的样本编码.
我可能正在做一些非常愚蠢的事情,但我不明白为什么下面的代码不起作用......
在这里,我创建了一个名为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)
??
这就好像我正在迭代法术书中的值,而不是关键......那是怎么回事?到目前为止我看到的所有文档似乎都表明这是迭代字典的正确方法(通用对象类型是...)我是否需要调用方法来获取键而不是泛型的值对象?
如此迷茫!
我试图通过使用Loader和URL在Actionscript中获取图像.图像很好,我可以在事件完成后在屏幕上显示.我想要做的是在屏幕上调整图像大小.我无法做到这一点.我该怎么办?
我尝试设置loader.content.width这是行不通的.我尝试设置loader.content.scaleX也没用.我是新手,我做错了什么?
actionscript-3 ×10
flash ×4
actionscript ×2
dictionary ×1
flash-cs5 ×1
flashdevelop ×1
oop ×1
random ×1
scope ×1
timer ×1
xml ×1