| 1234567891011121314151617181920212223242526272829303132 |
- y_spd += global.g;
- if place_meeting(x, y + y_spd, oParentSolid)
- {
- while !place_meeting(x, y + sign(y_spd), oParentSolid)
- y += sign(y_spd);
-
- if y_spd > 2
- {
- y_spd *= -restitution;
- x_spd *= restitution;
- } // 落地反弹
- else
- {
- y_spd = 0;
- x_spd = 0;
- }
- }
- y += y_spd;
- if place_meeting(x + x_spd, y, oParentSolid)
- x_spd *= -restitution; // 撞墙反弹
- x += x_spd;
- pickup_timer--;
- image_angle += 4 * point_distance(0, 0, x_spd, y_spd);
- if flash_timer > flash_duration
- instance_destroy();
|