标签: actionscript-2

当发布的电影有wmode ="transparent"时,MouseWheel无法正常工作?

我正在遇到已发布的Flash电影的错误.当我将电影嵌入HTML页面(使用SWFObject 2.1),并将其设置为'transparent'的wmode参数值时,基于MouseWheel事件的所有函数都停止工作.这部电影基于AS2.知道这个bug的人吗?

flash actionscript-2 wmode

6
推荐指数
1
解决办法
5475
查看次数

从另一个SWF文件中打开一个SWF文件(默认值不同)

希望这不会被当作两次问相同的问题...

因此,我正在一个Flash网站(在AS2中)工作,该网站具有外部索引swf,可使用来加载子swf文件loadMovie("subfoo1.swf", placeToShowSwf)。这些反过来加载一个xml文件,告诉它要加载什么内容。一切正常,但是我们想在索引swf中添加一个按钮,以打开一个子swf文件,其中一个或两个变量具有一个或两个不同的值。

不幸的是,只添加了一个说

loadMovie("foo1.swf", placeToShowSwf);
placeToShowSwf.openProject(x);
Run Code Online (Sandbox Code Playgroud)

不起作用,我认为是因为openProject(x)在未完全加载的文件上调用。我知道代码没有问题,因为我在其他地方创建了一个仅调用按钮,placeToShowSwf.openProject(x)没有任何问题。

我看到两个解决方案,我不确定该怎么做。

  1. 制作swf文件时,请更改所需的值,例如类的构造函数。但是,SWF文件有某种构造函数吗?只是说一句loadMovie(new foo1.swf(x), placeToShowSwf)或等效的话真是太好了。
  2. 等到载入swf(可能还有xml)之后,再调用placeToShowSwf.openProject(x)

有人对这些解决方案有任何指导,或者有人以类似豌豆的大脑无法理解的其他方式获得了指导?

flash actionscript-2

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

使用ActionScript 2.0或3.0开始使用文本输入和动态文本字段

我知道这是一个简单的问题,但我没有使用ActionScript ...

我知道如何使用Flash创建文本输入字段.我可以在舞台上创建它并给它一个实例名称.

捕获文本输入字段值并在动态文本字段中显示该值的代码是什么?ActionScript 2.0和3.0之间的这个过程有何不同?

flash actionscript-2 actionscript-3 textinput

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

为什么有时使用基于传递的时间量的步骤来完成动画?

我注意到一些程序员根据时间的不同动画对象.我不确定为什么,即使这是合乎逻辑的.有谁知道这个意义吗?

下面是一段代码,解释了我的意思:

var timePassed:int = getTimer()-lastTime;
lastTime += timePassed;
var newBallX = ball.x + ballDX*timePassed;
var newBallY = ball.y + ballDY*timePassed;
Run Code Online (Sandbox Code Playgroud)

flash animation actionscript actionscript-2 actionscript-3

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

如何使用JS/jQuery控制flash影片

我有一个项目,我有一个movie.swf(AS2)和一些按钮与html部分中的js/jQuery.现在我想要按钮来控制闪光灯.例如,按下Button1将执行gotoAndPlay(1)和Button2 gotoAndPlay(150)Button3 gotoAndStop(450)

Flashmovie使用Actionscript 2.

javascript flash jquery actionscript actionscript-2

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

Actionscript 3.0中的MovieClip vs Sprite

如果我使用MovieClip而不是Sprite扩展MainClass,还可以做些什么.我知道MovieClip扩展了Sprite并且它下面定义了Timeline.但仍然是如何通过MovieClip使用它?

package  {
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.text.TextFormat;
    import flash.display.MovieClip;
    import flash.text.TextFieldType;

    public class MainClass extends Sprite{      
        public function MainClass() {   

            var m:Module=new Module("Admin","John");

            var tf:TextField=new TextField();
            tf.text=m.info;
            tf.border=true;
            tf.type=TextFieldType.INPUT;

            var myFormat:TextFormat = new TextFormat();
            myFormat.size = 3;
            tf.defaultTextFormat=myFormat;

            addChild(tf);   
            this.width=500;
            this.height=300;
            this.x=0;
            this.y=10;
        }
    }       
}


class Module{
        private var m_mName:String;
        private var m_owner:String;

        public function Module(mName:String,owner:String):void{
            m_mName=mName;
            m_owner=owner;
        }
        public function get info():String{
            return owner+' is owner of '+mName;
        }
        public function get mName():String{
            return m_mName;
        } …
Run Code Online (Sandbox Code Playgroud)

actionscript actionscript-2 actionscript-3

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

Flash 中的空 xml 响应

我正在对一个旧的 Flash 游戏进行逆向工程,并在登录过程中将 POST 请求发送到服务器。动作脚本2:

req.username = inicial.login_mc.username_txt.text;
req.password = inicial.login_mc.password_txt.text;

xmlResponse = new LoadVars();
xmlResponse.onLoad = function() {
    xml = new XML(xmlResponse.xml);
    trace("login xml: " + xml);

    user = xml.childNodes[0];
};

url_login = "api/auth/user";
req.sendAndLoad(url_login, xmlResponse, "POST");
Run Code Online (Sandbox Code Playgroud)

要求:

req.username = inicial.login_mc.username_txt.text;
req.password = inicial.login_mc.password_txt.text;

xmlResponse = new LoadVars();
xmlResponse.onLoad = function() {
    xml = new XML(xmlResponse.xml);
    trace("login xml: " + xml);

    user = xml.childNodes[0];
};

url_login = "api/auth/user";
req.sendAndLoad(url_login, xmlResponse, "POST");
Run Code Online (Sandbox Code Playgroud)

我的回复:

Request URL: http://localhost:3000/api/auth/user
Request Method: POST
Status …
Run Code Online (Sandbox Code Playgroud)

flash actionscript-2 http

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

AMF通讯如何运作?

Flash如何通过AMF与服务器上的服务/脚本进行通信?

关于Python/Perl/PHP 的AMF库比.NET/Java更容易开发:

  • 当Flash发送远程过程调用时,它们是否执行脚本文件?
  • 或者他们是否通过套接字与作为服务运行的脚本类进行通信?

关于典型的AMF功能:

  • 数据是如何传输的?是通过自动序列化的方法参数吗?
  • 服务器如何" 推动 "到客户端?Flash电影必须连接到套接字吗?

谢谢你的时间.

python flash perl actionscript-2 amf

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

Flash AS2.0和JavaScript/jQuery(ExternalInterface)通信

我试图使用JS将数据发送到带有ExternalInterface的Flash AS2.0音乐播放器,除了我找不到有关ExternalInterface的好教程或指南.我希望能够通过单击JavaScript链接更改播放器中的当前歌曲,并在页面/窗口加载时不点击,播放默认歌曲.

我不需要在闪存等中加载声音的超级复杂的答案,我只是在让JS向Flash发送任何内容时遇到很多困难,当我开始工作时 - 我是否需要将一些if/else放入闪存以确定链接是否已被点击?

谢谢

编辑继承人现在的代码:

AS 2.0

import flash.external.ExternalInterface;

ExternalInterface.addCallback('loadSong', null, flashFunction);

function flashFunction (val) {
    extra = val;
}
Run Code Online (Sandbox Code Playgroud)

JavaScript的

var flashObj = document.getElementById('VSPLAYER');

function loadSong(val) {
    return val
}
Run Code Online (Sandbox Code Playgroud)

HTML

<a href="javascript:loadSong('2')">Play song 2</a>

<object id="VSPLAYER" type="application/x-shockwave-flash" data="vs_player.swf" width="280" height="90">
<param name="movie" value="vs_player.swf" />
<param name="allowscriptaccess" value="always" />
</object>
Run Code Online (Sandbox Code Playgroud)

javascript flash actionscript-2 externalinterface

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

nodejs net.createServer 大量数据传入

我让 nodejs 监听 tcp 端口并从 Flash XMLSocket 获取内容。如果我尝试从 flash ( XMLSocket.send(long_message)) 的一条消息中推送大量数据,我总是最终stream.on("data", function(d) {触发事件,而我希望在传输整个消息时发生。Flash 的 XMLSocket 将数据作为以空字节结尾的 UTF8 编码字符串传输。如何控制我的消息一致性?

更新

我在这里找到了类似的问题。但没有明确的答案。我知道我的消息的结尾应该是空字节,但是你能给我一个关于如何存储不完整消息并避免与下一条/并发消息重叠的例子吗?

更新2

在 maerics 的回答之后,我做了类似的事情

    var server = net.createServer(function(stream) {
    var dataBlock = "";
    stream.on("data", function(d) {
            processChunk(d);
    });

    function processChunk(data) {
            var chunks = data.split("\0");
            while (chunks.length > 1) {
                    if (dataBlock.length > 0) {
                            dataBlock += chunks.shift();
                            processIncompingMessage(dataBlock);
                            dataBlock = "";
                    }
                    else {
                            processIncompingMessage(chunks.shift());
                    }
            }
            dataBlock += chunks.shift();
    }
    }
Run Code Online (Sandbox Code Playgroud)

actionscript-2 node.js

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