| 12345678910111213141516171819202122232425262728293031 |
- y_spd += global.g * global.time_scale;
- 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 * global.time_scale;
- if place_meeting(x + x_spd, y, oParentSolid)
- x_spd *= -restitution; // 撞墙反弹
- x += x_spd * global.time_scale;
- image_angle += point_distance(0, 0, x_spd, y_spd) * global.time_scale;
- image_alpha -= 0.001;
- if image_alpha <= 0
- instance_destroy();
|