收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 1667|回复: 4

[AS1&2] 请教如何写一段限时程序?[已解决]

[复制链接]
发表于 2010-12-13 22:02:03 | 显示全部楼层 |阅读模式
前几天帮人制作了一份Flash的卷子,各种题型都制好了,现在有人问题怎么想都没思路,请各位大虾帮忙

思路是这样的,既然是卷子,那就得限定时间做完,比如说所有的题必须30分钟做完,30分种之后不管做没做完都跳转到最后一帧并显示时间到了,


现在就这个限时的程序写不出来了,请各位帮忙
发表于 2010-12-14 05:40:44 | 显示全部楼层
如果有联网条件的,使用网易或新浪等的时钟api,间隔比对时间

另外用shareobject对象储存一下倒计的秒数,反正不依赖本机时钟吧!!!

搜狐  http://ntp.news.sohu.com/mtime.php
回复 支持 反对

使用道具 举报

发表于 2010-12-14 09:02:33 | 显示全部楼层
是的,这种要求最好能读取服务器时间

这里有一个很久以前回帖做的本机倒计时
  1. package cn.flash023{
  2.         import flash.utils.Timer;
  3.         import flash.events.TimerEvent;
  4.         import flash.text.TextField;
  5.         import flash.display.MovieClip;
  6.         public class opposeTime {
  7.                 private var T:Timer;
  8.                 private var p:uint;
  9.                 private var total:uint;
  10.                 private var __txt:TextField;
  11.                 public function opposeTime(_txt:TextField ,_uint:uint ,_p:uint ):void {
  12.                         __txt=_txt;
  13.                         total=_uint;
  14.                         p=_p;
  15.                         __txt.text =timeFomat(total);
  16.                         T=new Timer(1000,total);
  17.                         T.addEventListener(TimerEvent.TIMER ,onTimeProgress);
  18.                         T.addEventListener(TimerEvent.TIMER_COMPLETE ,onTimeComplete);
  19.                         T.start();
  20.                 }
  21.                 private function onTimeProgress(_evt:TimerEvent):void {
  22.                         __txt.text =timeFomat(--total);
  23.                 }
  24.                 private function onTimeComplete(_evt:TimerEvent):void {
  25.                         __txt.text ="时间到!";
  26.                         var _mc:MovieClip=__txt.parent as MovieClip;
  27.                         trace(_mc);
  28.                         _mc.gotoAndStop(p);
  29.                 }
  30.                 private function timeFomat(_uint:uint ):String {
  31.                         var _h:String =("0"+int(_uint/3600)).substr(-2);
  32.                         var _m:String =("0"+int(_uint%3600/60)).substr(-2);
  33.                         var _s:String =("0"+int(_uint%3600%60)).substr(-2);
  34.                         return _h + ":" + _m + ":" + _s;
  35.                 }
  36.         }
  37. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-12-14 09:15:56 | 显示全部楼层

回复 3# flash023 的帖子

其实不用那么复杂,因为是给小学生的考试题,小学生不可能会想那么多,我的想法是读取本机时间,然后过60分钟后转到最后一帧,这就足够了,这样应该比较简单,但是我flash比较菜,不太会写
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-12-14 09:16:39 | 显示全部楼层

回复 2# HSZZLZL 的帖子

秋色烽火,谢谢你
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )  

GMT+8, 2020-8-8 06:22 , Processed in 0.109099 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表