请教FLASH AS3如何用按钮来切换各个场景?
5个回答
2011-09-03
展开全部
flash切换场景的几种方法:
1.
方法一:(使用telltarg...
方法一:(使用telltarget命令)
按钮上的as为:
on (release) {
tellTarget ("/") {
gotoAndPlay ("场景 1", 1);
}
}
2.
方法二(用gotoandpla...
方法二(用gotoandplay命令)
主场景2中的mc放到场景2的时间轴上
按钮的as: on release {
gotoAndPlay(”场景1”,1)
}
并且在最后一帧加stop()
问题就可以解决了:
3.
方法三(利用路径_root.g...
方法三(利用路径_root.gotoandplay())
第二个场景2里面只有一个mc,在这个mc的最后一帧是stop
和一个replay按钮
按钮的as:_root.gotoAndPlay(1)
【即告知按钮回到场景1的第一帧】
4.
方法四(给场景起不同的名字) ...
方法四(给场景起不同的名字)
如果你的as这样写:
第二个sence里面只有一个mc,在这个mc的最后一帧是stop 和一个replay按钮
按钮的as: on release {
gotoAndPlay(”sence1”,1)
}
结果按下后却是从这个mc的第一帧开始播放,而不是从sence1的第一帧
这是因为主场景的名字默认为senceN
MC里也可以有多个场景,而mc也是默认为senceN
所以当你在MC用上gotoAndPlay ("scene1", 1);时,指的是所在场景中MC里的第一帧,
而不是主场景
解决的方法,就是给场景定义不同的名字
scene1我们改名为:主场景
scene2我们改名为:次场景1
正确的as应该为:
on (release) {
tellTarget (_root) {
gotoAndPlay (1);
}
}
如果想实现按钮点击后从次场景播放
就可以在按钮上写上:
on (release) {
tellTarget (_root.次场景) {
gotoAndPlay (1);
}
}
5.
方法五(利用标签label) ...
方法五(利用标签label)
我们在控制动画的时候一般也不是从开始播放,
可能是希望从某个场景的某一个关键帧开始播放,那么标签是
最好的实现方法;
例如我们希望点击上面的按钮的时候让动画从主场景中的label1开始
播放,那么按钮上的as应该为:
on (release) {
tellTarget (_root) {
gotoAndPlay ("label1");
}
例如有3个场景,我们希望点击上面的按钮的时候让动画从次场景1中的label4开始
播放,那么按钮上的as应该为:
on (release) {
tellTarget (_root) {
gotoAndPlay ("次场景 1", "label4");
}
}
}
}
如果想实现按钮点击后从次场景播放
就可以在按钮上写上:
on (release) {
tellTarget (_root.次场景) {
gotoAndPlay (1);
1.
方法一:(使用telltarg...
方法一:(使用telltarget命令)
按钮上的as为:
on (release) {
tellTarget ("/") {
gotoAndPlay ("场景 1", 1);
}
}
2.
方法二(用gotoandpla...
方法二(用gotoandplay命令)
主场景2中的mc放到场景2的时间轴上
按钮的as: on release {
gotoAndPlay(”场景1”,1)
}
并且在最后一帧加stop()
问题就可以解决了:
3.
方法三(利用路径_root.g...
方法三(利用路径_root.gotoandplay())
第二个场景2里面只有一个mc,在这个mc的最后一帧是stop
和一个replay按钮
按钮的as:_root.gotoAndPlay(1)
【即告知按钮回到场景1的第一帧】
4.
方法四(给场景起不同的名字) ...
方法四(给场景起不同的名字)
如果你的as这样写:
第二个sence里面只有一个mc,在这个mc的最后一帧是stop 和一个replay按钮
按钮的as: on release {
gotoAndPlay(”sence1”,1)
}
结果按下后却是从这个mc的第一帧开始播放,而不是从sence1的第一帧
这是因为主场景的名字默认为senceN
MC里也可以有多个场景,而mc也是默认为senceN
所以当你在MC用上gotoAndPlay ("scene1", 1);时,指的是所在场景中MC里的第一帧,
而不是主场景
解决的方法,就是给场景定义不同的名字
scene1我们改名为:主场景
scene2我们改名为:次场景1
正确的as应该为:
on (release) {
tellTarget (_root) {
gotoAndPlay (1);
}
}
如果想实现按钮点击后从次场景播放
就可以在按钮上写上:
on (release) {
tellTarget (_root.次场景) {
gotoAndPlay (1);
}
}
5.
方法五(利用标签label) ...
方法五(利用标签label)
我们在控制动画的时候一般也不是从开始播放,
可能是希望从某个场景的某一个关键帧开始播放,那么标签是
最好的实现方法;
例如我们希望点击上面的按钮的时候让动画从主场景中的label1开始
播放,那么按钮上的as应该为:
on (release) {
tellTarget (_root) {
gotoAndPlay ("label1");
}
例如有3个场景,我们希望点击上面的按钮的时候让动画从次场景1中的label4开始
播放,那么按钮上的as应该为:
on (release) {
tellTarget (_root) {
gotoAndPlay ("次场景 1", "label4");
}
}
}
}
如果想实现按钮点击后从次场景播放
就可以在按钮上写上:
on (release) {
tellTarget (_root.次场景) {
gotoAndPlay (1);
展开全部
楼上两位大哥,说那庅多有用吗 人家是如何用按钮来切换各个场景不是组装你那方法键盘上有么?Button组件是可调整大小的矩形按钮,用户可以使用鼠标或空格键按下它以便在应用程序中发起一个动作。 你可以在Button实例中添加自定义图标。 你也可以将Button实例的行为从按压方式改变为拨动方式。 拨动按钮在点击时处于按下状态并且在再次点击之后返回弹起状态。 按钮是许多表单和web应用程序的基本组成部分。 你可以在你希望用户启动事件的任意位置使用按钮。 例如,大多数表单具有一个Submit按钮。 你也可以在演讲胶片中添加Previous和 Next按钮。为了能够使用 ActionScript动态地创建Button类的一个新实例,首先你需要从 Components面板中将该组件的一个拷贝拖拽至你当前的 Flash 文档库中。 然后,你需要使用import语句导入fl.controls.Button类。 这一步骤是必需的,因为组件文件不是以隐含方式导入的,就像flash.* 包一样。 一旦 Button类导入你的当前文档,你可以使用new运算符创建一个新的Button 实例。 最后,使用addChild() 方法可以将新的实例添加至显示列表中。除了使用x和y属性设置组件的x-轴和y-轴之外,你也可以使用 move()方法 (它类似于 setSize()方法,由UIComponent类继承而来) 在Stage中调整组件的位置。 设置组件的x属性或y属性、或调用实例的move()方法均会引起组件下发一个move事件(由 fl.events.ComponentEvent.MOVE 常量表示)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设你有两个场景,场景名分别是场景1,场景2.
在场景1中放置一个按钮,名为btn1。
新建一个层,写as如下:
btn1.addEventListener(MouseEvent.CLICK,goto2);
function goto2(e:MouseEvent):void
{
gotoAndPlay("场景2",1);
}
在场景2中放置一个按钮,名为btn2。
新建一个层,写as如下:
btn2.addEventListener(MouseEvent.CLICK,goto1);
function goto1(e:MouseEvent):void
{
gotoAndPlay("场景1",1);
}
//楼上那位大哥,楼主要的是as3.0不是2.0
在场景1中放置一个按钮,名为btn1。
新建一个层,写as如下:
btn1.addEventListener(MouseEvent.CLICK,goto2);
function goto2(e:MouseEvent):void
{
gotoAndPlay("场景2",1);
}
在场景2中放置一个按钮,名为btn2。
新建一个层,写as如下:
btn2.addEventListener(MouseEvent.CLICK,goto1);
function goto1(e:MouseEvent):void
{
gotoAndPlay("场景1",1);
}
//楼上那位大哥,楼主要的是as3.0不是2.0
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-09-03
展开全部
btn2.addEventListener(MouseEvent.CLICK,goto1);
function goto1(e:MouseEvent):void
{
gotoAndPlay(1,"场景1");
}
注意as3中的gotoAnd参数是 帧数, 场景名 ,而不是as2中的 场景名 ,帧数
function goto1(e:MouseEvent):void
{
gotoAndPlay(1,"场景1");
}
注意as3中的gotoAnd参数是 帧数, 场景名 ,而不是as2中的 场景名 ,帧数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两位的回答已经解决你的问题了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询