SHOW:
|
|
- or go back to the newest paste.
| 1 | Information about object: objStage4Blocks | |
| 2 | Sprite: sprWoodBlocks | |
| 3 | Solid: false | |
| 4 | Visible: true | |
| 5 | Depth: 0 | |
| 6 | Persistent: false | |
| 7 | Parent: | |
| 8 | Children: | |
| 9 | Mask: | |
| 10 | ||
| 11 | No Physics Object | |
| 12 | Create Event: | |
| 13 | ||
| 14 | execute code: | |
| 15 | ||
| 16 | x = 0; | |
| 17 | y = 0 | |
| 18 | surf = noone; //surface_create(room_width,room_height); | |
| 19 | - | image_xscale = 0.5; |
| 19 | + | image_xscale = room_width / sprite_get_width(sprite_index); |
| 20 | - | image_yscale = 0.5; |
| 20 | + | image_yscale = room_height / sprite_get_height(sprite_index); |
| 21 | ||
| 22 | SpikeImg = sprWoodSpike; | |
| 23 | ||
| 24 | with objSpikeUp | |
| 25 | {
| |
| 26 | if sprite_index = sprSpikeUp | |
| 27 | {
| |
| 28 | ||
| 29 | var OrigX = sprite_get_width(sprite_index); | |
| 30 | var XScale = round((OrigX * (round(image_xscale * 10) / 10)) / 16); | |
| 31 | var OrigY = sprite_get_height(sprite_index); | |
| 32 | var YScale = round((OrigY * (round(image_yscale * 10) / 10)) / 16); | |
| 33 | ||
| 34 | sprite_index = other.SpikeImg; | |
| 35 | ||
| 36 | image_index = 0; | |
| 37 | image_speed = 0; | |
| 38 | image_xscale = XScale / round(sprite_get_width(sprite_index) / 16); | |
| 39 | image_yscale = YScale / round(sprite_get_height(sprite_index) / 16); | |
| 40 | } | |
| 41 | } | |
| 42 | with objSpikeRight | |
| 43 | {
| |
| 44 | if sprite_index = sprSpikeRight | |
| 45 | {
| |
| 46 | ||
| 47 | var OrigX = sprite_get_width(sprite_index); | |
| 48 | var XScale = round((OrigX * (round(image_xscale * 10) / 10)) / 16); | |
| 49 | var OrigY = sprite_get_height(sprite_index); | |
| 50 | var YScale = round((OrigY * (round(image_yscale * 10) / 10)) / 16); | |
| 51 | sprite_index = other.SpikeImg; | |
| 52 | image_index = 1; | |
| 53 | image_speed = 0; | |
| 54 | image_xscale = XScale / round(sprite_get_width(sprite_index) / 16); | |
| 55 | image_yscale = YScale / round(sprite_get_height(sprite_index) / 16); | |
| 56 | } | |
| 57 | } | |
| 58 | with objSpikeDown | |
| 59 | {
| |
| 60 | if sprite_index = sprSpikeDown | |
| 61 | {
| |
| 62 | var OrigX = sprite_get_width(sprite_index); | |
| 63 | var XScale = round((OrigX * (round(image_xscale * 10) / 10)) / 16); | |
| 64 | var OrigY = sprite_get_height(sprite_index); | |
| 65 | var YScale = round((OrigY * (round(image_yscale * 10) / 10)) / 16); | |
| 66 | sprite_index = other.SpikeImg; | |
| 67 | image_index = 2; | |
| 68 | image_speed = 0; | |
| 69 | image_xscale = XScale / round(sprite_get_width(sprite_index) / 16); | |
| 70 | image_yscale = YScale / round(sprite_get_height(sprite_index) / 16); | |
| 71 | } | |
| 72 | } | |
| 73 | with objSpikeLeft | |
| 74 | {
| |
| 75 | if sprite_index = sprSpikeLeft | |
| 76 | {
| |
| 77 | var OrigX = sprite_get_width(sprite_index); | |
| 78 | var XScale = round((OrigX * (round(image_xscale * 10) / 10)) / 16); | |
| 79 | var OrigY = sprite_get_height(sprite_index); | |
| 80 | var YScale = round((OrigY * (round(image_yscale * 10) / 10)) / 16); | |
| 81 | sprite_index = other.SpikeImg; | |
| 82 | image_index = 3; | |
| 83 | image_speed = 0; | |
| 84 | image_xscale = XScale / round(sprite_get_width(sprite_index) / 16); | |
| 85 | image_yscale = YScale / round(sprite_get_height(sprite_index) / 16); | |
| 86 | ||
| 87 | } | |
| 88 | } | |
| 89 | ||
| 90 | Other Event: Room End: | |
| 91 | ||
| 92 | execute code: | |
| 93 | ||
| 94 | if surface_exists(surf){
| |
| 95 | surface_free(surf); | |
| 96 | } | |
| 97 | ||
| 98 | Draw Event: | |
| 99 | ||
| 100 | execute code: | |
| 101 | ||
| 102 | if !surface_exists(surf){
| |
| 103 | surf=surface_create(room_width,room_height); | |
| 104 | ||
| 105 | ||
| 106 | surface_set_target(surf); | |
| 107 | draw_clear_alpha(c_black,0); | |
| 108 | ||
| 109 | ||
| 110 | with objBlock | |
| 111 | {
| |
| 112 | draw_rectangle_color(x,y,x+ 32 * image_xscale - 1,y+ 32 * image_yscale - 1,c_black,c_black,c_black,c_black,false); | |
| 113 | ||
| 114 | var a; | |
| 115 | for (a = 0; a < image_xscale; a += 0.5) | |
| 116 | {
| |
| 117 | if not (position_meeting(x + a * 32, y - 1, objBlock) or position_meeting(x + (a + 0.5) * 32 - 1, y - 1, objBlock)) // above | |
| 118 | {
| |
| 119 | draw_rectangle_color(x + a * 32,y,x+(a + 0.5) * 32 - 1,y+1,c_dkgray,c_dkgray,c_dkgray,c_dkgray,false); | |
| 120 | } | |
| 121 | if not (position_meeting(x + a * 32, y +32 * image_yscale, objBlock) or position_meeting(x + (a + 0.5) * 32 - 1, y + 32 * image_yscale, objBlock)) // below | |
| 122 | {
| |
| 123 | draw_rectangle_color(x + a * 32,y + 32 * image_yscale - 2,x+(a + 0.5) * 32 - 1,y+32 * image_yscale - 1,c_dkgray,c_dkgray,c_dkgray,c_dkgray,false); | |
| 124 | } | |
| 125 | } | |
| 126 | for (a = 0; a < image_yscale; a += 0.5) | |
| 127 | {
| |
| 128 | if not (position_meeting(x -1, y + a * 32, objBlock) or position_meeting(x -1, y + (a + 0.5) * 32 - 1, objBlock)) // left | |
| 129 | {
| |
| 130 | draw_rectangle_color(x ,y + a * 32,x+1,y+(a + 0.5) * 32 - 1,c_dkgray,c_dkgray,c_dkgray,c_dkgray,false); | |
| 131 | } | |
| 132 | if not (position_meeting(x +32 * image_xscale, y + a * 32, objBlock) or position_meeting(x + 32 * image_xscale, y + (a + 0.5) * 32 - 1, objBlock)) // right | |
| 133 | {
| |
| 134 | draw_rectangle_color(x + 32 * image_xscale - 2,y + a * 32,x+ 32 * image_xscale - 1,y+(a + 0.5) * 32 - 1,c_dkgray,c_dkgray,c_dkgray,c_dkgray,false); | |
| 135 | } | |
| 136 | } | |
| 137 | ||
| 138 | ||
| 139 | } | |
| 140 | ||
| 141 | ||
| 142 | ||
| 143 | draw_set_blend_mode_ext(bm_dest_alpha, bm_one); | |
| 144 | draw_self(); | |
| 145 | draw_set_blend_mode( bm_normal ); | |
| 146 | ||
| 147 | surface_reset_target(); | |
| 148 | } | |
| 149 | ||
| 150 | ||
| 151 | if surface_exists(surf) | |
| 152 | {
| |
| 153 | draw_surface(surf,0,0); | |
| 154 | } |