‘еX1 ЕАуєн&чF›Ущ(XџџџџџО Ј( @€ЯаРПпрАяЏ  я(№/№/я(я рŸ 0№/8џ0@џ0?џ/8№ 0я(р п?Gџ@PџOWџOXџOPџ?Hџ0@№/7я@Oџ_`џ`hџ_hџPXџ 0р(пP_џopџpxџowџ_gџ@O№/8я'п'р 7№pџ€џ‡џ`oџ?Gя/7р Я€0?№€ˆџ?Hя/8р`/пo?G№OX№@Hя0?р/аpOW№?Hр/8п 7яOPя?Gр/7п(Я РP0@яPX№@Oя0@п 0аO а@H№/Я@'а 0п0@р@P№0?п'Я_OP№@Hр(а 7п/7а'Р Пџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ^^^^^^^^^^џџџџџџџџџџџџџџџџџџџџ^^^^^^^^^^^^^^џџџџџџџџџџџџџџџџ^^TeeBBBBeTT^^^^^^џџџџџџџџџџџџџ^eBDJ33333JJDBeZ^^^^џџџџџџџџџџџTD33==#####==3JDBT^^^^џџџџџџџџџeJ=###=3DeZ^^TџџџџџџџB3# #=3JBZ^^Tџџџџџџ3#  #=JBT^^џџџџџJ# Sll #=JBZ^Tџџџџ# %,68??86,/@A*< ##џџџџ45('.6787-9%:;*<=#џџџџџ$+&,--.,/01)2 3џџџџџџ $%&&'%($!)* ##џџџџџџџ  !"#џџџџџџџџџ  џџџџџџџџџџџ  џџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџРџџџќџј№?рРР€€€€РРр№?јќџџџџРџd­Ц: ќу@ spr_laser  ˆxœэЭ1€ DQь=€ЅЅ' ои{'Ž.Q ŒH–e‡D‘ с§uГЃ9Žѕwёww0гљо/Ч{.џп|NWJq~B&3+ѕx>ѕЕ№dBП' >ЏіqјПF`ќ>(A }ѕЅХј*‰ ^YсШтD^T‘ЩљїзЕGУТ spr_mirrorPO (xœsђecf3 жт  12H€Х/01`€Ѓ` #џSspr_mirror_maskP O /xœsђ]ЦСf@ЌФ@Ь ФŒ `ёЈќ(Ѓ`Œ‚Q0 F=Е †Єє obj_laserЎœџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџИ[џџџџ2{ self.x = mouse_x; self.y = mouse_y; }0000000џџџџџџџџИ[џџџџt{ var n, cx, cy, a, rx, ry, m; //Mirror's Angle n = obj_mirror.angle; //Center of the mirror cx = obj_mirror.x + lengthdir_x(40, n); cy = obj_mirror.y + lengthdir_y(40, n); //Angle between the laser origin and the mirror's center a = point_direction(self.x, self.y, cx, cy); //Angle between the laser and the mirror. m = 180 - n - (360 - a); //End points of the reflected laser beam rx = cx + lengthdir_x(200, 180 + n - m); ry = cy + lengthdir_y(200, 180 + n - m); //Draw the laser draw_set_color(c_red); draw_line(self.x, self.y, cx, cy); draw_line(cx, cy, rx, ry); draw_sprite(self.sprite_index, self.image_index, self.x, self.y); //Draw the base line and output the angle between that and the mirror. draw_set_color(c_blue); draw_line(self.x - 64, self.y, self.x + 64, self.y); draw_text(self.x - 50, self.y - 35, "a = " + string(a)); draw_set_color(c_white); draw_text(10, 400, "Angle of Incidence"); draw_text(10, 420, "m = 180 - n - (360 - a)"); draw_text(10, 440, "m = 180 - " + string(n) + " - (360 - " + string(a) + ")"); //m = 180 - n - (360 - a); //Fix the angle so that it is relative to the mirror. while (m < 0) m = m + 360; if (m > 90) { if (m <= 180) { m = 180 - m; } else if (m <= 270) { m = m - 180; } else { m = 360 - m; } } draw_text(10, 460, "m = " + string(m)); }0000000џџџџџџџџџџџџ obj_mirrorЎœџџџ И[џџџџ{ self.angle = 0; }0000000џџџџџџџџџџџџИ[џџџџ({ self.image_angle = self.angle; }0000000џџџџџџџџџџџџИ[џџџџd{ self.angle = self.angle - 1; if (self.angle < 0) self.angle = self.angle + 360; }0000000И[џџџџ0{ self.angle = (self.angle + 1) mod 360; }0000000џџџџџџџџИ[џџџџе{ draw_sprite_ext(self.sprite_index, self.image_index, self.x, self.y, self.image_xscale, self.image_yscale, self.image_angle, self.image_blend, self.image_alpha); }0000000џџџџџџџџџџџџЄroom0€р<џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ€р€р џџџџџџџџџџџџ€р€р џџџџџџџџџџџџ€р€р џџџџџџџџџџџџ€р€р џџџџџџџџџџџџ€р€р џџџџџџџџџџџџ€р€р џџџџџџџџџџџџ€р€р џџџџџџџџџџџџ€р€р џџџџџџџџџџџџааЁ†јLЄ†Є†€–˜XџGame InformationџџџџџџџџXЗ{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Arial;}{\f1\fnil Arial;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\fs24 Reflected laser example written by Nailog. \par \par Left click on the gold ball and drag to reposition the laser's origin. \par Left click and hold on the mirror to rotate it counter-clockwise. \par Right click and hold on the mirror to rotate it clockwise.\f1 \par } єSprites spr_laser spr_mirrorspr_mirror_maskSounds BackgroundsPathsScripts Fonts Time LinesObjects obj_laser obj_mirrorRoomsroom0 Game Information Global Game Settings