在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.offsetInSource
的 offset 添加到 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()函数如何编写的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Adobe Flash CS3 中移动 MovieClip 的原点?
如何在Adobe Flash CS3中更改Adobe Flash Player版本