Create:
State = "move"
Step:
//行走
var a = 7.5; //x移动值
var b = 3.75; //y移动值
//匍匐
var c = 4.5; //x移动值
var d = 2.25; //y移动值
//////////////////////////////////////////////////////////////////////////////////
//移动状态
if state = "move"
{
x+=2; //滑落效果
y+=1; //滑落效果
//不动
ifnot keyboard_check(vk_right)
andnot keyboard_check(vk_left)
andnot keyboard_check(ord("A"))
andnot keyboard_check(ord("D"))
{
sprite_index= magentalittle_stand;
}
//左上方向移动
ifkeyboard_check(ord("A")) || keyboard_check(vk_left)
{
sprite_index= magentalittle_walk;
image_speed= 1;
x-= a; //需要改变的值
y-= b; //需要改变的值
//移动时按下相反的按钮
ifkeyboard_check(vk_right) || keyboard_check(ord("D"))
{
x+= a; //需要改变的值
y+= b; //需要改变的值
}
//行走射击
//需要实现的目的:
//按住shift时,变量a,b每过1秒进行一次a-=1,b-=0.5,直到a=1.5,b=0.5
//放开shift时,变量a,b停止增减,变量a,b每过一秒进行一次a+=0.5,b+=0.25, 直到a=7.5 b=3.75
ifkeyboard_check(vk_lshift) || keyboard_check(vk_rshift)
{
state= "walkshoot";
}
}
//站立射击
//目的同上
ifkeyboard_check(vk_lshift) || keyboard_check(vk_rshift)
{
state= "shoot";
}
//加减速代码
//加入后没有任何影响,按shift不能减速
if(keyboard_check(vk_lshift)) ||keyboard_check(vk_rshift)
{
a-= 1;
if(a<1.5){a=1.5}
b-=0.5
if(b<0.5){b=0.5}
}
else
{
a+= 0.5;
if(a>7.5){a=7.5}
b+= 0.25
if(b>3.75){b=3.75}
}
//趴下
ifkeyboard_check(vk_down) || keyboard_check(ord("S"))
{
state= "crawl";
}
}
//////////////////////////////////////////////////////////////////////////////////
if state = "crawl"
{
x+= 2;
y+= 1;
sprite_index = magenta_tilt_left;
ifkeyboard_check(vk_left) || keyboard_check(ord("A"))
{
x -= 4.5;
y -= 2.25;
if keyboard_check(vk_right) ||keyboard_check(ord("D"))
{
x += 4.5;
y += 4.5;
}
}
ifkeyboard_check(vk_up) || keyboard_check(ord("W"))
{
state = "move";
}
}
//////////////////////////////////////////////////////////////////////////////////
if state = "shoot"
{
sprite_index= magenta_shoot;
image_speed= 1;
x+= 10; //记得测试成功后改为40 后坐力
y+= 5 ; //记得测试成功后改为20
}
//////////////////////////////////////////////////////////////////////////////////
if state = "walkshoot"
{
sprite_index= magenta_walkshoot;
image_speed= 1;
x+= 10;//记得测试成功后改为40
y+= 5; //记得测试成功后改为20
动画结束:
ifstate == "shoot"
{
state = "move"
}
ifstate = "walkshoot"
{
state = "move"
}