用步事件实现,摆弄了很久,分享给大家。
if times<=2
{
if keyboard_check_pressed(vk_right)
{
times=times+1;
alarm[0]=10;
if times=2 alarm[0]=0;
}
}
//当times等于0,执行第一次单击,times加1,闹钟为10步,由于times没到2,闹钟不会停止,需要在10步之内马上再进行一次单击,否则闹钟事件会执行,让times回到0。
//如果在指定的时间内执行了第二次单击times加到2,闹钟执行,同时停止。此时等待下一步单击。
//第三次单击,次数加到3,闹钟事件执行且不会停止,times回到0,等待下一次。
if( keyboard_check(vk_right))
{
sprite_index = walk_right;
if times=2
{
x=x+4;
}
else x=x+2;
//设置水平初速度
//gravx=xspeed*2;
//grava=0.1;
}
//按键时当times=2则加速,否则普通的速度。
定时器事件alarm[0]加入以下代码:times=0;
create事件里加入:times=0;
参考:http://tieba.baidu.com/p/611823833 不过没有按照这个方向做。
由于全部是用步事件实现的动作,所以水平方向也要设置加速度,以后找机会开源给大家看全部的代码。
if times<=2
{
if keyboard_check_pressed(vk_right)
{
times=times+1;
alarm[0]=10;
if times=2 alarm[0]=0;
}
}
//当times等于0,执行第一次单击,times加1,闹钟为10步,由于times没到2,闹钟不会停止,需要在10步之内马上再进行一次单击,否则闹钟事件会执行,让times回到0。
//如果在指定的时间内执行了第二次单击times加到2,闹钟执行,同时停止。此时等待下一步单击。
//第三次单击,次数加到3,闹钟事件执行且不会停止,times回到0,等待下一次。
if( keyboard_check(vk_right))
{
sprite_index = walk_right;
if times=2
{
x=x+4;
}
else x=x+2;
//设置水平初速度
//gravx=xspeed*2;
//grava=0.1;
}
//按键时当times=2则加速,否则普通的速度。
定时器事件alarm[0]加入以下代码:times=0;
create事件里加入:times=0;
参考:http://tieba.baidu.com/p/611823833 不过没有按照这个方向做。
由于全部是用步事件实现的动作,所以水平方向也要设置加速度,以后找机会开源给大家看全部的代码。












