Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- I Spillerens Create Event:
- tilemap = layer_tilemap_get_id("CollisionMap")
- I Step event:
- var bbox_side
- // Horizontal tile colission check
- if (hsp > 0) bbox_side = bbox_right else bbox_side = bbox_left
- if (tilemap_get_at_pixel(tilemap, bbox_side + hsp, bbox_top + 1) != 0) ||
- (tilemap_get_at_pixel(tilemap, bbox_side + hsp, bbox_bottom - 1) != 0) ||
- (tilemap_get_at_pixel(tilemap, bbox_side + hsp, y) != 0) {
- if (hsp > 0) x = x - x % 128 + 127 - (bbox_right - x)
- else x = x - x % 128 - (bbox_left - x)
- hsp = 0
- }
- x += hsp
- // Vertical tile colission check
- vsp += grav;
- if (vsp > 0) bbox_side = bbox_bottom else bbox_side = bbox_top
- if (tilemap_get_at_pixel(tilemap, bbox_left + 1, bbox_side + vsp) != 0) ||
- (tilemap_get_at_pixel(tilemap, bbox_right - 1, bbox_side + vsp) != 0) ||
- (tilemap_get_at_pixel(tilemap, x, bbox_side + vsp) != 0) {
- if (vsp > 0) y = y - y % 128 + 127 - (bbox_bottom - y)
- else y = y - y % 128 - (bbox_top - y)
- vsp = 0
- }
- y += vsp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement