|
主题: 我就是没学会怎么做按纽!
|
 xtra_5d
职务:普通成员
等级:1
金币:0.0
发贴:7
注册:2001/1/3 18:53:44
|
#12001/1/10 14:23:16
我看了5d所有的教程和帖子,就是没看明白,也许我太基础了!:-(
|
 dexn
职务:普通成员
等级:1
金币:1.0
发贴:157
注册:2000/12/7 21:54:20
|
#22001/1/10 15:05:56
基础不是问题,问题是你自己去不去亲自动手和动脑。 一个按扭,包括:正常,mouseover,mousedown,mouseup四种基本状态: 1、正常状态就不多讲了; 2、mouseover状态:在D中,由mouseenter事件激活,mouseleave还原;(也可用mousewithin) 3、mousedown状态:由mousedown激活,mouseup和mouseupoutside还原或激活mouseup状态; 4、mouseup状态:mouseup和mouseupoutside激活,通常恢复为正常状态。 其中按扭状态替换可用: sprite(me.spritenum).member=member("membername") 实现,也有人用跳帧实现,本人不认为跳帧方法好。以下为一个典型的按扭行为(member1为正常状态演员) on mouseenter me sprit(me.spritnum).member=member("memberover") end on mouseleave me sprit(me.spritnum).member=member("member1") end on mousedown me sprit(me.spritnum).member=member("memberdown") end on mouseup me sprit(me.spritnum).member=member("member1") go to "wheremarker" end on mouseupoutside me sprit(me.spritnum).member=member("member1") end 小小菜鸟不才,如有不对或不完整,请各位兄弟指教。万分感谢。
|
 D计划-混沌
职务:管理员
等级:6
金币:15.2
发贴:3528
注册:2007/4/9 9:48:37
|
#32001/1/10 22:35:58
在d里作按钮的一点补充 1.我认为直接导入带alpha通道psd(或其他可透明格式),通过color或loc的变换来响应鼠标各种状态是最好不过的了 2.直接导入flash按钮 3.用visible实现
|
 南山东篱摄螂
职务:普通成员
等级:4
金币:10.0
发贴:1840
注册:2000/10/22 10:31:19
|
#42001/1/10 23:53:27
具体不明在那里?能详细说吗?这样可以针对性地讨论!
|
 xtra_5d
职务:普通成员
等级:1
金币:0.0
发贴:7
注册:2001/1/3 18:53:44
|
#52001/1/11 8:59:36
我把不同状态两个按扭导入以后,就不知道怎么弄了,dr的工作模式我还不太习惯。 谢谢各位!
|
 dexn
职务:普通成员
等级:1
金币:1.0
发贴:157
注册:2000/12/7 21:54:20
|
#62001/1/11 9:46:24
如果就是不太习惯就好了,你多用几下,你会发现D是个很好的东西,54zp说的对,我也特别喜欢用flash做的按扭。只是“直接导入带alpha通道psd(或其他可透明格式),通过color或loc的变换来响应鼠标各种状态”方法我不是很了解,可否解释解释怎么做和原理呢!
编辑历史:[这消息被dexn编辑过(编辑时间2001-01-11 09:50:20)]
|
 rainy_5d
职务:普通成员
等级:2
金币:1.0
发贴:225
注册:2000/10/23 19:44:16
|
#72001/1/11 22:37:32
是的,d的创作模式是很特殊的,以至于以前的很长时间我都搞不清消息的层次问题,不知道何时用何种脚本。关键还是在于动手、动脑。
|
 D计划-混沌
职务:管理员
等级:6
金币:15.2
发贴:3528
注册:2007/4/9 9:48:37
|
#82001/1/11 22:42:22
on mousedown global x set x=the clickon set colornow=random(64) repeat while the mousedown sprite(x).backcolor=colornow updateStage end repeat end on mouseup global x set x=the clickon if rollOver(x) then sprite(x).backcolor=0 else sprite(x).backcolor=0 updateStage end if end 有没有谁看了这段东东特眼熟的
编辑历史:[这消息被54zq编辑过(编辑时间2001-01-11 23:19:57)]
|
 xtra_5d
职务:普通成员
等级:1
金币:0.0
发贴:7
注册:2001/1/3 18:53:44
|
#92001/1/12 8:58:46
我建议:大家既然都是做多媒体的,为什么不错一些多媒体格式的教程呢>??
|
 dexn
职务:普通成员
等级:1
金币:1.0
发贴:157
注册:2000/12/7 21:54:20
|
#102001/1/12 9:49:03
感谢54zp兄,大概的原理我已经有了模糊的概念,等会我自己尝试一下,应该会有更深的认识,但小的不才这个语句我怎么看都不明白, if rollOver(x) then sprite(x).backcolor=0 else sprite(x).backcolor=0 updateStage end if 54zp兄没写错不?  刚才我试了一下,将54zp兄的程序改为以下,发现这样会比较象一个按扭, on mousedown global x set x=the clickon set colornow=random(64) repeat while the mousedown if rollOver(x) then sprite(x).backcolor=colornow else sprite(x).backcolor=0 end if updateStage end repeat end on mouseup set x=the clickon sprite(x).backcolor=0 updateStage end 改动是把rollover放到repeat while the mousedown 里。
编辑历史:[这消息被dexn编辑过(编辑时间2001-01-12 10:43:34)] [这消息被dexn编辑过(编辑时间2001-01-12 10:45:35)]
|
 donlee
职务:普通成员
等级:1
金币:1.0
发贴:271
注册:2000/12/8 8:52:18
|
#112001/1/12 11:36:48
如果是用作sprite行为,还是去掉global x 而在第一行加上property x;若是frame script怕不作为按钮的sprite也成为"按钮"了。
|
 D计划-混沌
职务:管理员
等级:6
金币:15.2
发贴:3528
注册:2007/4/9 9:48:37
|
#122001/1/13 2:32:24
sorry,倒真没认真研究过,一下有点蒙,下网后仔细瞧瞧,thks  不过原程序 if rollOver(x) then sprite(x).backcolor=0 do something--这里交互 else sprite(x).backcolor=0 updateStage end if 是为了确保按钮响应后才交互而且交互后按钮需归原状态 donlee兄所言极是,下次一定改
编辑历史:[这消息被54zq编辑过(编辑时间2001-01-13 02:35:06)] [这消息被54zq编辑过(编辑时间2001-01-13 03:03:10)]
|
 南山东篱摄螂
职务:普通成员
等级:4
金币:10.0
发贴:1840
注册:2000/10/22 10:31:19
|
#132001/1/13 10:27:07
xtra在上个贴子中说 引用: 我把不同状态两个按扭导入以后,就不知道怎么弄了,dr的工作模式我还不太习惯。 谢谢各位!
导入后还要把它拖到stage中,Dr有时间轴这个概念--与flash差不多。 还有就是DR具有一定的面向对像的能力。
|