帮我看看这个问题,有关setTimeout的

Lixh2000 2004-11-08 07:35:53
我想写一段动态变换窗口背景的代码,想要达到的目的是,1、随机挑选图片做为背景;2、变更背景的时间间隔在一定时间内是随机的;3、清屏方式是随机的(有多种清屏方式)。现在的问题是,因为在代码中用了几个setTimeout,不知何处出错,导致程序运行了一阵子之后,也就是实现了上述功能若干次后,就不再变更背景了。我怀疑是setTimeout太多的缘故,但不知如何修改,请帮忙看看。基本框架如下:
<script language="JavaScript">
....
var nFirst=1; //是不是第一次运行
var nClearID=0;
var nSysTimeoutID;
var nClearTimeoutID;

function RandomChangeBackPic()
{
....
if(nFirst) //如果是第一次运行
{
....
nFirst=0;
nSysTimeoutID=window.setTimeout("RandomChangeBackPic()",Math.round(Math.random()*1000*60*nTimeInterval));
return;
}
....
//nClearID随机赋值
if(nClearID==1) //清屏方式1
{
....
ClearScreen1();
}
....
if(nClearID==N) //清屏方式N
{
....
ClearScreenN();
}
}

function ClearScreen1()
{
if(nSysTimeoutID)
window.clearTimeout(nSysTimeoutID);
if(....)
{
....
nClearTimeoutID=window.setTimeout("ClearScreen1()",1);
}
else
{
window.clearTimeout(nClearTimeoutID);
....
nSysTimeoutID=window.setTimeout("RandomChangeBackPic()",Math.round(Math.random()*1000*60*nTimeInterval));
}
}
....
function ClearScreenN()
{
if(nSysTimeoutID)
window.clearTimeout(nSysTimeoutID);
if(....)
{
....
nClearTimeoutID=window.setTimeout("ClearScreenN()",1);
}
else
{
window.clearTimeout(nClearTimeoutID);
....
nSysTimeoutID=window.setTimeout("RandomChangeBackPic()",Math.round(Math.random()*1000*60*nTimeInterval));
}
}
....

window.onload=RandomChangeBackPic;
</script>
...全文
235 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lixh2000 2005-02-22
  • 打赏
  • 举报
回复
谢谢各位,问题已经解决。我重新调整了一下结构,只用了一个settimeout()函数,问题不再出现。
cxz7531 2005-02-04
  • 打赏
  • 举报
回复
是啊,把代码贴出来
DwNet 2005-02-04
  • 打赏
  • 举报
回复
跟setTimeout使用次数没关系吧.你应该把全部代码发出来.

大家才好查出错误的原因.呵呵~~:)
peilianhai 2005-02-04
  • 打赏
  • 举报
回复
用用这个函数clearTimeout()
应该对你有用
Lixh2000 2004-11-08
  • 打赏
  • 举报
回复
自己顶一下
Lixh2000 2004-11-08
  • 打赏
  • 举报
回复
Lixh2000 2004-11-08
  • 打赏
  • 举报
回复
还是没有人回答,再顶一下
内容概要:本文深入拆解了独立游戏《小丑牌》(Balatro)的核心设计原理与系统架构,揭示其如何通过“扑克牌型+肉鸽构筑”的创新融合实现极高的策略深度与成瘾性。游戏以德州扑克的牌型认知为基础操作语言,借鉴《杀戮尖塔》的局外构筑循环,构建了一个围绕“筹码×倍率”单一得分公式的高度耦合系统。核心玩法聚焦于“出牌”与“弃牌”两个极简动词,所有其他动作(购买、装备、跳过等)均服务于优化这两个核心操作。游戏通过微观(30秒)、中观(3-5分钟)、宏观(30分钟)及局外循环的精密设计,实现了高频反馈、策略递进与长期目标的完美平衡。三大核心系统——卡牌(小丑牌、塔罗、星球、幻灵)、得分经济(分数即经济)、难度(盲注与标签)——紧密交织,形成强大的正反馈与负反馈机制,确保玩家体验既爽快又富有挑战。; 适合人群:策略游戏爱好者、肉鸽游戏(Roguelike)玩家、卡牌游戏玩家、对游戏机制设计感兴趣的开发者及独立游戏研究者。; 使用场景及目标:①理解《小丑牌》为何能凭借极简操作实现深度策略体验;②学习其“减法设计”理念,即如何通过借用成熟文化资产(如扑克牌型)降低认知门槛;③研究其多层级循环设计如何制造“再来一局”的成瘾性;④分析其系统耦合方法,即所有机制如何统一收敛于“筹码×倍率”这一核心公式。; 阅读建议:此文档不仅是对《小丑牌》的玩法解析,更是一份高水平的游戏系统设计案例研究。建议读者结合实际游戏体验进行对照阅读,重点关注其动词设计的精简性、循环结构的节奏感以及系统间耦合的精密性,以汲取其在降低认知负荷、提升策略深度方面的设计智慧。

87,987

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧