Примери за начинаещи - Прегледай преди да питаш!, Героя да следи мишката, живота да се вижда, влачене на обект и т.н. |
Здравейте ( Вход | Регистрация )
Примери за начинаещи - Прегледай преди да питаш!, Героя да следи мишката, живота да се вижда, влачене на обект и т.н. |
21:20:21, 07-January-2009, Wednesday
Коментар
#1
|
|
I'm The Evil Admin Група: Администратор Коментари: 541 Регистриран: 14.11.04 Потребител № 3 |
Въведение
В тази тема ще поствам примери как да се направят много от нещата, за които питат начинаещите. Всичкия код, който ще видите трябва да бъде слаган в отбелязания Event и с drag&drop елемента Execute a pice of Code. В ТАЗИ ТЕМА СЕ ПОСТВАТ САМО ПРИМЕРИ И НИЩО ДРУГО! ВСИЧКИ МНЕНИЯ ЩЕ СЕ ТРИЯТ! Последно добавени примери: 07.01.2009г. Няма да редактирам този пост, а ще поствам направо надолу. • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • Пример №1 Влачене на обект с мишката Create: Код drag=0; drag_xoff=0; drag_yoff=0; End Step: Код if (drag=1) { x=mouse_x-drag_xoff; y=mouse_y-drag_yoff; } Left Pressed: Код drag=1; drag_xoff=mouse_x-x; drag_yoff=mouse_y-y; Global Left Released: Код drag=0; Забележете, че е Left Pressed и Gobal Left Released. Това е така понеже при по-ниска скорост на стаята обекта изостава от мишката и може да се случи бутона да бъде пуснат, когато обекта все още не е настигнал мишката. При скорост от 60 на стаята почти не се забелязва изоставане. • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • Пример №2 Живота винаги да се вижда, когато екрана се движи В случая ще се изписва живота в цифри (пр. 10,56,100). Create: Код life=100; Draw: Код draw_text(view_xview[0]+10,view_yview[0]+10,string(life)) • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • Пример №3 Героя да се движи към/спрямо мишката Контроли: W/A/S/D - Напред/Наляво/Надясно/Назад Create: Код move_speed=5; Step: Код image_angle=point_direction(x,y,mouse_x,mouse_y); Keyboard: A: Код x+=lengthdir_x(move_speed,image_angle+90); y+=lengthdir_y(move_speed,image_angle+90); Keyboard: D: Код x+=lengthdir_x(move_speed,image_angle-90); y+=lengthdir_y(move_speed,image_angle-90); Keyboard: S: Код x+=lengthdir_x(-move_speed,image_angle); y+=lengthdir_y(-move_speed,image_angle); Keyboard: W: Код if (point_distance(x,y,mouse_x,mouse_y)>32) { x+=lengthdir_x(move_speed,image_angle); y+=lengthdir_y(move_speed,image_angle); } • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • Пример №4 Отброяване Create: Код raw_seconds=650; // Това е общия брой на секундите за отброяване - променяте само //това и нищо друго в изчисленията steps=raw_seconds*room_speed; temp=raw_seconds/3600; hours=floor(temp); temp=frac(temp)*60; minutes=floor(temp); temp=frac(temp)*60; seconds=floor(temp); Step: Код if (steps>0) { steps-=1; temp=steps/(room_speed*3600); hours=floor(temp); temp=frac(temp)*60; minutes=floor(temp); temp=frac(temp)*60; seconds=floor(temp); } Draw: Код draw_text(x,y,string(hours)+':'+string(minutes)+':'+string(seconds)); • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • Пример №5 Ден/Нощ За да се смени времето се натиска <space> независимо дали е напълно тъмно или не. Create: Код day=2; alpha=0; Step: Код if (day=1) { if (alpha<1) alpha+=0.005 else day=2; } else if (day=0) { if (alpha>0) alpha-=0.005 else day=2; } Draw: Код draw_set_color(c_black); draw_set_alpha(alpha); draw_rectangle(view_xview[0]-10,view_yview[0]-10,view_xview[0]+2148,view_yview[0]+1636,1); Key Press: Space: Код if (day!=2) { if (day=1) day=0 else day=1; } else { if (alpha>=1) day=0 else if (alpha<=0) day=1; } • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • Пример №6 Живот над главите на противниците Create: Код life=80; life_max=100; Draw: Код draw_set_color(c_black);
draw_rectangle(x-25,y-30,x+25,y-20,0); if (life>0) { draw_set_color(c_green); draw_rectangle(x-25,y-30,x-25+50*(life/life_max),y-20,0); } -------------------- Si hoc non legere potes tu asinus es!
|
|
|
06:37:57, 24-February-2009, Tuesday
Коментар
#2
|
|
Редовен бъбривко Група: Администратор Коментари: 661 Регистриран: 08.07.05 Град: Бургас Потребител № 44 |
Примери:
1. Работа с цветове и blending: Blend.gm6 ( 22.5k ) Брой сваляния: 31 2. Пример за гърмяща бомба по два начина: BOMB.gm6 ( 16.19k ) Брой сваляния: 43 3. 3D куб който си сейва кадрите всяка стъпка и се затваря. Cube.gm6 ( 76.76k ) Брой сваляния: 31 4. Криви линии CurveScripts.gm6 ( 6.26k ) Брой сваляния: 24 5. Екипиране в RPG (от DeadMeat) EquipExample.gm6 ( 119.95k ) Брой сваляния: 41 6. Пример за 3D Arkanoid/Breakout игра Ex1.gm6 ( 13.39k ) Брой сваляния: 48 7. Пример за работа с масиви ex.gm6 ( 5.56k ) Брой сваляния: 22 8. Пример за функцията d3d_set_fog в 2D - цветови ефект fog.gm6 ( 5.17k ) Брой сваляния: 33 9. Пример за Health на обект health.gm6 ( 13.31k ) Брой сваляния: 33 10. Пример за Screen Saver с поддръжка на settings (Леко бъгаво) logoXP.gm6 ( 37.34k ) Брой сваляния: 28 11. Пример за използване на PARENTS parent.gm6 ( 12.09k ) Брой сваляния: 19 12. подреждане на думи по азбучен ред sort.gm6 ( 5.1k ) Брой сваляния: 23 13. Чат програма CHAT.gm6 ( 24.05k ) Брой сваляния: 37 14. Текстови полета в Game Maker NEWcomCTL.gm6 ( 49.25k ) Брой сваляния: 49 15. Меню за Paste на текст за всички програми copy.gm6 ( 6.04k ) Брой сваляния: 22 16. Source-файла на Windows Installer G [3 MB!] setup.gm6 ( 3.5mb ) Брой сваляния: 24 17. Правене на лазер без room background: Laser.gm6 ( 93.16k ) Брой сваляния: 32 -------------------- |
|
|
Олекотена версия | Час: 20:52:47, 18.05.24 |