2016-01-10 3 views
0

Есть ли способ сделать функцию, которая просто добавляет движение к объекту, например motion_add, из Game Maker?Game Maker motion_add - эквивалент Python

Как: motion_add (SPEED1, direction1, SPEED2, направление 2) ... где SPEED1 и direction1 это текущие значения объекта и SPEED2 и это направление 2 добавка.

ответ

0

Я сам это понял.

def CoordsToDir(x1, y1, x2, y2): 
    return atan2(y2 - y1, x2 - x1)*180/pi 

def DirToCoords(direction, length): 
    return [cos((direction) * pi/180) * length, sin((direction) * pi/180) * length] 

def motion_add(speed1, direction1, speed2, direction2): 
    [x1, y1] = DirToCoords(direction1, speed1) 
    [x2, y2] = map(sum, zip([x1, y1], DirToCoords(direction2, speed2))) 
    speed = hypot(x2, y2) 
    direction = CoordsToDir(0, 0, x2, y2) 
    return [speed, direction] 
Смежные вопросы