flash常见问题四

作者:袖梨 2022-07-02

113。问:FLASH如何与后台连接?[源码]
 答:使用LoadVars()对象的sendAndLoad()方法来发送和接收数据
 
 114。问:如何实现声音的暂停/播放效果?
 答:在执行stop()命令时可以用sound对象的position属性取得当前声音文件的播放时间(毫秒),然后用start(time,loop)在当前位置播放即可。
 
 115。问:如何定义二维数组?
 答:下面定义一个20*20的二维数组,值全部为0
 sarray = [];
 for (var i = 0; i<=19; i++) {
   sarray[ i] = [];
   for (var j = 0; j<=19; j++) {
     sarray[ i][j] = 0;
   }
 }
 
 116。问:如何打开指定属性的窗口?[源码][/COLOR]
 
 答:先JS在HTML页面中定义函数,然后在FLASH中用getURL()调用
 (turbine)
 
 117。问:如何通过MC中的按钮跳转场景?
 答:在要跳转的桢上加标签,通过标签跳转:gotoAndStop("yourlable")
 (turbine)
 118。问:如何随机设置MC颜色?
 答:MC实例名为"mc"
 mycolor=new Color("mc")
 mycolor.setRGB(random(0xffffff))
 (turbine)
 119。问:如何实现双击效果?
 答:把下面的代码放到按钮上:
 on (press) {
   time = getTimer()-down_time;
   if (time<300) {
     trace("ok");
   }
   down_time = getTimer();
 }
 (turbine)
 120。问:如何使MC始终跟随鼠标旋转?[源码][/COLOR]
 答:先计算MC横纵坐标与鼠标横纵坐标的差值,然后用Math.atan2()来计算旋转角度。
 m_x = _root._xmouse-mc._x;
 m_y = _root._ymouse-mc._y;
 mc._rotation = PI=180/Math.PI*Math.atan2(m_y, m_x);
 (turbine)
 121。问:如何做鼠标跟随效果?
 答:基础代码如下,a为步长
 mc._x+=(_root._xmouse-mc._x)/a
 mc._y+=(_root._ymouse-mc._y)/a
 (turbine)
 122。问:如何在AS中创建类的继承?
 答:创建一个MC的继承类
 myClass=function(){
 ……
 }
 myClass.prototype = new MovieClip(); 
 (turbine)
 
 122.问:能否详细讲解loadmovie
 答:loadmovie的问题,然后就是加载之后属性的设置。。
 loadMovieNum(url,level,method);
 
 url 就是你要加载的SWF文件的相对或绝对URL. 如"snow.swf"或"http://go8.163.com/6snow9/myflash/snow.swf"’ target="_blank" >http://go8.163.com/6snow9/myflash/snow.swf";,强烈建议把要加载的swf都放在同一目录下
 
 level指定被加载的swf放入到哪个层级(level)里,范围为0---n吧具体多少,我也不清楚了。。若为0则被载载的swf动画会完全取替原来的动画哦!数字越大,就越在原动画上面!
 
 method 是传递参数的形式,有"POST"和"GET"两种
 通过loadmovie加载进来的动画不需要时可以用unloadmovie命令把它卸除如
 例:loadMovieNum("snow.swf",1);//加载snow.swf到第一层
 
 接下来可以用getBytesLoaded();命令获得下载进度了如在第1帧:
 bytesload=_level1.getBytesLoaded();
 bytestotal=_level1.getBytesTotal();
loadbar._xscale=int(bytesload/bytestotal*100);
 
 当下载完成后,就可以对它进行控制了,如设置属性,播放,停止等如在第5帧:
 if (_level1.getBytesLoaded()>=_level1.getBytesTotal()){
       _levle1.play();
       play();
 }else {
       gotoAndPlay(1);
 }
 
 通过loadmovie加载进来的动画不需要时可以用unloadmovie命令把它卸除,如前面的snow.swf。。AS为:_level1.unloadMovie(); 
  
 关 于 加 载 sw f到 target 的 方 法:    loadMovie(url,target[,method]);
 1.可使用loadMovie("snow.swf",mc);,若已经有一个空MC存在的话,可以用mc.loadMovie("snow");加载
 
 2.被加载的s动画,有关于AS的地方最好用相对路径,而不用_root.mc.loadmovie.play();等形式的绝对路径,可使用如:
 _parent._parent.mc.play();//主场景的loadbar下的mc的帧要控制被加载到主场景空mc的动画播放
     因为一旦被加载了,整个动画也就成了mc,用这样的语句可能会引起混乱 
 作者:萧月痕
 
 123.原来MX的FS命令是这样的。
 
 相信不少朋友在MX版本中继续使用FS的EXEC命令,但是。。。。 
 
 偶多试不灵,前些日子得到答案,还得感谢偶那StudioMX安装包。 
 
 其实非常简单,在MX版本中的EXE调用更加严格,必须使用FLASHPLAYER或者自程序EXE的方式调用,HTML页面禁止。这里变化就是目录方面Macromedia做了安全措施。必须是当前路径的FSCOMMAND目录下,也就是说你得手工建立一个FSCOMMAND目录来放置你调用的EXE程序。这个很简单,
 其语法命令同F5不变: 
 fscommand("your.exe"); 

相关文章

精彩推荐