sunfan0818 发表于 2010-5-15 23:41:10

请问time该如何改写计时器才能自动指向相应的KS文件?(

唔,我是复制了水螅大人发布的AVG教程范例上的内容:

@iscript
function getdate()
//取得当前时间
{
var d = new Date();
    tf.saved = d.getYear();
    tf.temp14 = d.getMonth() + 1;
    tf.saved = tf.saved + "-" + tf.temp14;
    tf.saved = tf.saved + "-" + d.getDate();
}

//这里是timer的用法,首先,在用timer之前,先放置一个timer
var timer1 = new Timer(onTimer1, "");//放置timer
//然后,在一个自己定义的function里,把timer激活,就是timer1.enabled = true这样。在对timer定义的时候,括号里的第一个参数就是执行的名字,这里设定为onTimer1
function romo(tag)
{
tf.romo = new Layer(kag, kag.fore.base);
tf.romo.visible = true;
tf.romo.loadImages("romo.jpg");
tf.romo.setSizeToImageSize();
tf.romo.setPos(150,200);
timer1.enabled = true;
timer1.interval = 100;//制定timer的频率是每100毫秒执行一次onTimer1
tf.romow = 500;
tf.tag = tag;
}
//具体每100ms做什么写在这里
function onTimer1()
{
tf.romow = tf.romow - 5;
if (tf.romow <= 0)
{
tf.romo.visible = false;
timer1.enabled = false;
kag.processCall('open.ks', tf.tag);
}
if (tf.romow > 0)
{
tf.romo.setImageSize(tf.romow, 44);
}
}
//停止timer
function unromo()
{
tf.romo.visible = false;
timer1.enabled = false;
}




但是,由于kag.processCall('open.ks', tf.tag);这一句
计时器总是自动指向open.ks
这样一来的话其他的KS文件里便无法使用计时器了说
删除这一句的话又会报错……
请问要如何修改才能让计时器自动指向任意的KS文件呢?

sunfan0818 发表于 2010-5-16 01:25:18

另外再问一下,强制停止timer的命令是什么?

水螅大人的范例里写的是

@macro name=romo


@endmacro


应用在KS文件里就是






但是,我实际应用起来时,倘若计时器没有走完
也就是没有进入*op9,而是在计时器走完前选择了*op7或*op8的话
再遭遇下一个图片trans时就会报错,因为计时器还在继续走。。。

请问强制停止计时器的命令是什么?

pengyu5008 发表于 2010-5-16 21:09:10

指向任意KS文件的话,就改那个.ks前边的名字就好。。。
至于停止计时。。。你都复制出来了。。
//停止timer
function unromo()
{
tf.romo.visible = false;
timer1.enabled = false;
}


用的时候就是。。
去看那op7和op8下边第一行是什么。。。

sunfan0818 发表于 2010-5-16 22:13:10

不,那样的话,就变成要写好几遍不是么?

能不能只写一遍就可以同时指向好几个KS文件呢?

因为我有十几个KS里都要用到计时器啊

如果每个都要指向的话,不就变成要写好几遍?

sunfan0818 发表于 2010-5-16 22:15:28

还是说可以连续写上好几条?比如:

{
tf.romo.visible = false;
timer1.enabled = false;
kag.processCall('data1.ks', tf.tag);
kag.processCall('data2.ks', tf.tag);
kag.processCall('data3.ks', tf.tag);
kag.processCall('data4.ks', tf.tag);
kag.processCall('data5.ks', tf.tag);
}

像这样???

pengyu5008 发表于 2010-5-17 00:20:24

此楼 留空。。。说了一堆废话。。。OTZ。。。

pengyu5008 发表于 2010-5-17 00:23:07

仔细看那个指令。。只是在计时器走完最后时间,消除计时器和回到当前所在ks文件的一个指令。。。所以你删掉自然会报错。。
当时间走完,那个tag里赋值是op9,没有指定的ks文件就报错了。。。所以稍微改动一下。。。
function romo(tag,tag1)
{
tf.romo = new Layer(kag, kag.fore.base);
tf.romo.visible = true;
tf.romo.loadImages("romo.jpg");
tf.romo.setSizeToImageSize();
tf.romo.setPos(150,200);
timer1.enabled = true;
timer1.interval = 100;//制定timer的频率是每100毫秒执行一次onTimer1
tf.romow = 500;
tf.tag = tag;
tf.tag1 = tag1;
}
//具体每100ms做什么写在这里
function onTimer1()
{
tf.romow = tf.romow - 5;
if (tf.romow <= 0)
{
tf.romo.visible = false;
timer1.enabled = false;
kag.processCall(tf.tag1, tf.tag);
}
if (tf.romow > 0)
{
tf.romo.setImageSize(tf.romow, 44);
}
}
这样就OK。。
在游戏种使用的时候就是
这样就可以了。。。

sunfan0818 发表于 2010-5-17 16:13:13

不行……我按照上面改写后

进入游戏测试时还是报错啊……

说是无法找到成员"tag1"

明明已经写成

难道光是这条命令无法为tag1赋值么?

pengyu5008 发表于 2010-5-17 18:03:33

function romo(tag,tag1)
你确定这个也改了吗?

sunfan0818 发表于 2010-5-17 19:54:32

啊……真的……我忘了改这个……

呀~~太粗心了太粗心了~~麻烦大人了真是不好意思的说~~~

问题解决了~~感谢pengyu5008大人的耐心指教~~~

你真是个大好人的说~~么么~~~
页: [1]
查看完整版本: 请问time该如何改写计时器才能自动指向相应的KS文件?(