TeRoMe, спасибо, неплохая идея.
Помогите разобраться с бегом! В общем выглядет так: в событии создания объекта global.dex=10
//скорость персонажа
if global.dex<15 global.move_speed=2
if global.dex>15 global.move_speed=4
//запас сил для бега
global.run_bar=300+(global.dex)*5
//бег
global.run=0
В событии шага пишу:
//ходьба в стороны
if keyboard_check(ord("W"))
y-=global.move_speed+global.run
if keyboard_check(ord("A"))
x-=global.move_speed+global.run
if keyboard_check(ord("S"))
y+=global.move_speed+global.run
if keyboard_check(ord("D"))
x+=global.move_speed+global.run
//ходьба по диагонале
if keyboard_check(ord("W")) && keyboard_check(ord("A"))
y-=(global.move_speed+global.run)/2
x-=(global.move_speed+global.run)/2
if keyboard_check(ord("W")) && keyboard_check(ord("D"))
y-=(global.move_speed+global.run)/2
x+=(global.move_speed+global.run)/2
if keyboard_check(ord("S")) && keyboard_check(ord("A"))
y+=(global.move_speed+global.run)/2
x-=(global.move_speed+global.run)/2
if keyboard_check(ord("S")) && keyboard_check(ord("D"))
y+=(global.move_speed+global.run)/2
x+=(global.move_speed+global.run)/2
//бег
if ((keyboard_check(vk_shift)) && (global.run_bar>0))
{global.run_bar-=30 && global.run=global.move_speed}
else global.run=0
Знаю, выглядит ужасно, но всё, кроме бега, работает