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 | } |