哪一个更快?为什么?
var messages:Array = [.....]
// 1 - for
var len:int = messages.length;
for (var i:int = 0; i < len; i++) {
var o:Object = messages[i];
// ...
}
// 2 - foreach
for each (var o:Object in messages) {
// ...
}
Run Code Online (Sandbox Code Playgroud) 我想知道的区别 [object main timeline],[object Stage]并root在AS3?
我已经从主题如何阶段,根和MainTimeline Fit Together中读到了.但我没有弄清楚.
我有一个Javascript函数,它返回div的innerHTML.我试图从Actionscript调用此函数并存储返回值.我知道正在调用Javascript函数,因为有一个显示返回数据的警报,但返回到Actionscript的数据为null.我不确定是什么原因造成的.这是我尝试做的代码示例:
Javascript:
function JSFunc () {
var x = document.getElementById("myDiv");
alert(x.innerHTML);
return x.innerHTML;
}
Actionscript:
import flash.external.*;
if (ExternalInterface.available) {
var retData:Object = ExternalInterface.call("JSFunc");
if(retData != null) {
textField.text = retData.toString();
} else {
textField.text = "Returned Null";
}
} else {
textField.text = "External Interface not available";
}
Run Code Online (Sandbox Code Playgroud)
就像我之前说的那样,警报显示div的内容,但文本字段中的文本始终为"Returned Null",这意味着ExternalInterface可用.我应该补充一点,我只能在IE7和IE8中测试它.任何有关做什么的建议都将不胜感激.
简单的问题是,如果用户阻止将数据写入共享对象,我如何在actionscript中检测到?
sharedObj = SharedObject.getLocal("rememberme");
Run Code Online (Sandbox Code Playgroud)
这个返回始终是共享对象,但它的大小为0,即使我已阻止共享对象.
当我试图将数据保存到共享对象并刷新它时,它会抛出一个错误,因为写入被阻止.那么检查写入共享对象是否被禁用的正确方法是什么?
Error: Error #2130: Unable to flush SharedObject.
Run Code Online (Sandbox Code Playgroud) if(tmpStr == tmp+value)
{
i=1;
action = null;
action2 = null;
}
if(tmpStr1 == tmp+value)
{
i=0;
action();//not working
action2();//not working
}
for(i;i<=14; i++)
{
if(tmp!="movie"+i)
{
document.getElementById("movie"+i).sndToAS("resume");
}
}
}
function action()
{
document.getElementById("movie0").sndToAS("pause");
}
function action2()
{
if(tmp != "movie0")
{
document.getElementById("movie0").sndToAS("pause");
}
}
Run Code Online (Sandbox Code Playgroud) 有什么区别
extends(inheritance)
Run Code Online (Sandbox Code Playgroud)
和
override(polymorphism)
Run Code Online (Sandbox Code Playgroud)
?
我有一个脚本,ENTER_FRAME每次都依赖于事件来运行.我注意到在一些较慢的电脑上播放flash电影时会有一些延迟.
是否ENTER_FRAME在每一帧上运行,即使它在慢速计算机上运行?如果flash电影滞后,ENTER_FRAME事件是否仍在运行,渲染只是试图赶上?
ENTER_FRAME每次进入帧时,是否以可靠的方式运行代码来执行代码?
public class MyClass extends MovieClip {
public function MyClass():void {
my_mc.addEventListener(MouseEvent.CLICK, action);
}
private function action(e:MouseEvent):void {
trace("cliked");
}
}
Run Code Online (Sandbox Code Playgroud)
时间线代码
var myClass:MyClass = new MyClass();
addChild(myClass);
Run Code Online (Sandbox Code Playgroud)
我无法访问my_mc(放置在FLA中)movieclip.我如何访问?
我的问题基本如下.有一个扩展EventDispatcher的类的实例.当我向对象添加事件监听器时,一切顺利:
myObject.addEventListener('eventName', someFunction, false, 0, false);
Run Code Online (Sandbox Code Playgroud)
但是当一个弱引用添加事件监听器时会发生一些变化:
myObject.addEventListener('eventName', someFunction, false, 0, true);
Run Code Online (Sandbox Code Playgroud)
现在someFunction没有被调用,即使包含dispatchEvent('eventName')的行正在像以前一样被执行(并且还有对myObject的外部引用).
我正在开发的应用程序非常复杂,不幸的是,我无法发布确切的代码.
有没有办法找出在Flash项目中的对象上移动鼠标时调用哪些方法?
actionscript ×5
apache-flex ×3
flash ×3
javascript ×2
events ×1
flash-cs3 ×1
flash-cs5 ×1
inheritance ×1
oop ×1
overriding ×1
performance ×1