Примери за начинаещи - Прегледай преди да питаш!, Героя да следи мишката, живота да се вижда, влачене на обект и т.н. |
Здравейте ( Вход | Регистрация )
![]() ![]() |
Примери за начинаещи - Прегледай преди да питаш!, Героя да следи мишката, живота да се вижда, влачене на обект и т.н. |
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 )
Брой сваляния: 312. Пример за гърмяща бомба по два начина:
BOMB.gm6 ( 16.19k )
Брой сваляния: 433. 3D куб който си сейва кадрите всяка стъпка и се затваря.
Cube.gm6 ( 76.76k )
Брой сваляния: 314. Криви линии
CurveScripts.gm6 ( 6.26k )
Брой сваляния: 245. Екипиране в RPG (от DeadMeat)
EquipExample.gm6 ( 119.95k )
Брой сваляния: 416. Пример за 3D Arkanoid/Breakout игра
Ex1.gm6 ( 13.39k )
Брой сваляния: 487. Пример за работа с масиви
ex.gm6 ( 5.56k )
Брой сваляния: 228. Пример за функцията d3d_set_fog в 2D - цветови ефект
fog.gm6 ( 5.17k )
Брой сваляния: 339. Пример за Health на обект
health.gm6 ( 13.31k )
Брой сваляния: 3310. Пример за Screen Saver с поддръжка на settings (Леко бъгаво)
logoXP.gm6 ( 37.34k )
Брой сваляния: 2811. Пример за използване на PARENTS
parent.gm6 ( 12.09k )
Брой сваляния: 1912. подреждане на думи по азбучен ред
sort.gm6 ( 5.1k )
Брой сваляния: 2313. Чат програма
CHAT.gm6 ( 24.05k )
Брой сваляния: 3714. Текстови полета в Game Maker
NEWcomCTL.gm6 ( 49.25k )
Брой сваляния: 4915. Меню за Paste на текст за всички програми
copy.gm6 ( 6.04k )
Брой сваляния: 2216. Source-файла на Windows Installer G [3 MB!]
setup.gm6 ( 3.5mb )
Брой сваляния: 2417. Правене на лазер без room background:
Laser.gm6 ( 93.16k )
Брой сваляния: 32-------------------- |
|
|
|
![]() ![]() |
| Олекотена версия | Час: 00:41:50, 03.11.25 |