關(guān)于舉行移動(dòng)的腳本
112.95.251.214
發(fā)布于2014-04-22 16:15
147
0
標(biāo)簽:
做了一個(gè)矩形向上移動(dòng)的腳本,要移動(dòng)3次,每次移動(dòng)10,三次后回到初始位置,但是運(yùn)行后矩形一直想上移動(dòng)不回初始位置,監(jiān)控發(fā)現(xiàn)i的值始終為1,那有差錯(cuò)了。c腳本如下
longtop;
inti;
top=gettop(lpszpicturename,lpszobjectname);
if(i<3)
{
top=top-10;
i=i+1;
}
else
{
top=top+30;
i=0;
}
returntop;
佳答案
因?yàn)閕是腳本里面定義的變量就相當(dāng)于step7中的臨時(shí)變量一樣,下一個(gè)掃描周期它又從初始值0開(kāi)始使用,所以應(yīng)該是在腳本的后把當(dāng)前i的值保存到wincc的變量中,然后腳本執(zhí)行時(shí)先讀取保存的變量值然后在執(zhí)行后面的程序。
longtop;
inti;
i=gettagbyte("i_save");//i的保存值
top=gettop(lpszpicturename,lpszobjectname);
if(i<3)
{
top=top-10;
i=i+1;
}
else
{
top=top+30;
i=0;
}
settagbyte("i_save",i);//保存i值到wincc的變量i_save(無(wú)符號(hào)8位整數(shù))。
returntop;