在Flash CS3中,play()函数如何编写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Flash CS3中,play()函数如何编写相关的知识,希望对你有一定的参考价值。

我想在第一帧添加一个按钮,但就是不懂该怎么写。

有很多办法

最简单的办法:
1、给你的按钮起名字:
例如:按钮的实例名称为btnControl
2、在场景的第一帧添加动作
注意:不是给按钮添加动作

stop();
i=1; btnControl.onRelease=function()

if(i=1)

i=0;
_root.play();
else

i=1;
_root.stop();



stop(); //停止,如果没有这个,那么后面判断是否播放的变量要相应的改变
i=1; //判断是否播放的变量,初始为1,1表示停止,如果没有上面的 stop那么1表示播放状态
btnControl.onRelease=function()//btnControl按钮按下时

if(i=1) //如果i=1,也就是停止状态

i=0; //i赋值为播放状态
_root.play(); //开始播放
else //否则

i=1;
_root.stop();


当然,也可以使用 i表示记录播放的帧数,通过判断当前播放的帧数是否与i相等来判断是在播放还是停止。
参考技术A 我个人建议》代码将 NetStream 对象的 client 属性设置为一个自定义类 CustomClient,该类为回调方法定义处理函数:

var nc:NetConnection = new NetConnection();
nc.connect(null);

var ns:NetStream = new NetStream(nc);
ns.client = new CustomClient();
ns.play("video.flv");

var vid:Video = new Video();
vid.attachNetStream(ns);
addChild(vid);
CustomClient 类如下所示:

package

public class CustomClient

public function onMetaData(infoObject:Object):void

trace("metadata");



CustomClient 类为 onMetaData 回调处理函数定义一个处理函数。如果遇到一个提示点并调用了 onCuePoint 回调处理函数,则会调度一个 asyncError 事件 (AsyncErrorEvent.ASYNC_ERROR),显示“flash.net.NetStream 无法调用回调 onCuePoint”。为了防止发生此错误,需要在 CustomClient 类中定义一个 onCuePoint 回调方法,或者为 asyncError 事件定义一个事件处理函数。希望我的回答你有帮助
参考技术B 添加在按钮上:
on(press)
 play();
//按一下开始播放

如果你想做,按一下开始播放,再按一下停止播放,就是:
on (press)
if (b==0)
play(); b=1
else
stop(); b=0

参考技术C 你用2.0的就可以
先命名按钮的名字
命名_btn.onRelease=function()play();
点击该按钮就会从第一帧开始播放。

Flash CS6 Spritesheet导出功能中如何设置注册点?

【中文标题】Flash CS6 Spritesheet导出功能中如何设置注册点?【英文标题】:How to set the registration point in the Flash CS6 Spritesheet export function? 【发布时间】:2012-08-09 03:20:18 【问题描述】:

我正在尝试调整 Spritesheet 导出的 JSON 文件,以便可以导入精灵及其在注册点的位置。

在 Flash 中,我只是将 frame.offsetInSourceoffset 添加到 position 但这不起作用...这就是我现在导出它的方式:

function frameExport(frame)


var s;
if (hitFrame)
    s = "\n,\n";
else
    s = "\n\n";
s += AddKeyRect("frame", frame.frame);
s+= ",\n";
var spriteSourceSize = new Object();
spriteSourceSize.x = frame.offsetInSource.x;
spriteSourceSize.y = frame.offsetInSource.y;
spriteSourceSize.w = frame.sourceSize.w;
spriteSourceSize.h = frame.sourceSize.h;
s += AddKeyRect("offset", spriteSourceSize);
s += "";

hitFrame = true;

return s;
 

我怎样才能导出这个好方法,所以他们的相对位置也被导出为一个偏移变量? 还有其他变量可以用于此吗? 我知道你可以使用这些变量:

frame.frame.x
frame.frame.y
frame.frame.w
frame.frame.h
frame.offsetInSource.x
frame.offsetInSource.y
frame.sourceSize.w
frame.sourceSize.h

提前致谢!

【问题讨论】:

【参考方案1】:

我也尝试使用 Sprite Sheet Exporter 来导出每一帧的相对位置。但我发现,在元数据中,“frame.offsetInSource.x”的值始终为零。我想这就是我想要的,也是你想要的。

我尝试编辑 JSON.plugin.jsfl,取消注释跟踪。遗憾的是它仍然为零。

到目前为止,我还没有弄清楚原因。

【讨论】:

是的,我遇到了同样的问题,所以我略过了。

以上是关于在Flash CS3中,play()函数如何编写的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Adob​​e Flash CS3 中移动 MovieClip 的原点?

如何在Adobe Flash CS3中更改Adobe Flash Player版本

需要在 Flash CS3 AS3 中创建暂停/恢复切换按钮

flash cs3中网页加载的loading怎么做

adobe flash cs3 为啥不能导入mp3

在 Adob​​e Flash CS3 Actionscript 中拖动多个项目