Название: Помогите с полоской жизни Отправлено: sakh_badboy от Февраль 07, 2010, 06:56:49 Всем привет раньше я занимался модингом игры Warcraft3ft но сейчас наткнулся на эту классную прогу начал изучать но со скриптом дело плохо у меня. Так вот скачал пример с полоской жизни переместил на другой движок работает. Но он закреплён за юнитом а мне надо что бы она была в верхнем левом углу. так вот когда я поменял координаты она отказалась работать. Помогите плиз
сылка - http://rghost.ru/947314 (http://rghost.ru/947314) Название: Re: Помогите с полоской жизни Отправлено: drdan1959 от Февраль 07, 2010, 09:48:18 А что ты там поменял? Сейчас полоска рисуется в точке (x,y-50). То есть на 50 пикселей выше объекта. Если задать координаты как (0,0) то спрайт будет рисоваться в левом верхнем углу. Но сдесь есть один нюанс: так как точка отсчёта спрайта (как раз та, координаты которой ты задаёшь) находится не в углу спрайта, а где-то посередине, спрайт частично выходит за предел комнаты, и ты его не можешь увидеть. Здесь поможет калибровка методом научного тыка или просто перемещение точки отсчёта спрайта в левый верхний угол. Тебе наверняка захочется сделать так, чтобы полоска жизни находилась не в углу комнаты, а в углу вида (то есть при перемещении "камеры" по комнате полоска всегда оставалась в углу, а не уходила за пределы экрана. Такое может быть если ты сделаешь комнату размером больше вида), тогда координатами спрайта должны быть такие (view_xview[0],view_yview[0]).
Вот твоя полоска в углу: http://rghost.ru/947482 (http://rghost.ru/947482) Надеюсь у тебя GM версии 7 и выше. Название: Re: Помогите с полоской жизни Отправлено: sakh_badboy от Февраль 07, 2010, 10:30:09 GM8 pro у меня. щас проверю
Добавлено: Март 02, 2011, 01:28:37 Не неподходи уходиш а она там и отстаётся. Я видел что как то цыпляют нужный обьект сверху и он даже не дёргается. хотя камеры все время движется. Может дадите сыль на анологичную нароботку? Название: Re: Помогите с полоской жизни Отправлено: z3lf от Февраль 07, 2010, 14:51:33 draw_rectangle(view_xview+10,view_yview+10,view_xview+10+n,view_yview+30,outline[false or true])
//n - переменная-индикатор полоски а-ля жизни, энергии и т.д. Название: Re: Помогите с полоской жизни Отправлено: sakh_badboy от Февраль 07, 2010, 14:55:46 вроде делал ка ты сказал,а ошибка сделай плиз примером
//z3lf: заместо n поставь ту переменную, которую ты хочешь, чтобы отображалась на полоске. ну и конечно выбери в последнем пункет либо false, либо true (т.е. к примеру: draw_rectangle(view_xview+10,view_yview+10,view_xview+10+n,view_yview+30,false) ) Название: Re: Помогите с полоской жизни Отправлено: z3lf от Февраль 07, 2010, 15:23:39 http://rghost.ru/948726
вот, правда на gm7 Название: Re: Помогите с полоской жизни Отправлено: sakh_badboy от Февраль 07, 2010, 16:01:16 А как ограничить полоску?
Название: Re: Помогите с полоской жизни Отправлено: z3lf от Февраль 07, 2010, 16:27:09 ну ограничение можно сделать таким образом.
к примеру: maxHp=500; hp=500; draw_rectangle(view_xview+10,view_yview+10,view_xview+10+(100*hp/maxHP),view_yview+30,false) //из этого следует, что полоска растягивается только на 100px, т.к. есть множитель, который может иметь максимальное значение только единицу(500/500=1; 0/500=0; 250/500=.5); Название: Re: Помогите с полоской жизни Отправлено: sakh_badboy от Февраль 07, 2010, 16:34:24 блин ничё не понял ну сделал вёл значения так вообще полоска не пахает что писать где максНР и просто НР. Я в кодах нуб можно чуть поподробней.
Название: Re: Помогите с полоской жизни Отправлено: z3lf от Февраль 07, 2010, 16:58:08 Дай название той переменной которую ты отображаешь. И скажи какому числу она максимум равна.
Название: Re: Помогите с полоской жизни Отправлено: sakh_badboy от Февраль 07, 2010, 17:00:37 n=100
переменая n. максимум 100 И ещё не понял где настройки (RGB) видел по 4 значения надо красную полоску Название: Re: Помогите с полоской жизни Отправлено: z3lf от Февраль 07, 2010, 17:10:04 draw_rectangle(view_xview+10,view_yview+10,view_xview+10+(100*n/100),view_yview+30,false)
//устанавливаешь любое значение цифры 100 - максимальная длинна полоски т.е. 100px. Название: Re: Помогите с полоской жизни Отправлено: sakh_badboy от Февраль 07, 2010, 17:11:05 Ца заценим.
И ещё можно зе ней прикрепит маленькую картинку что бы она не была подвижна? это часть HUD Добавлено: Март 02, 2011, 01:28:45 Полоска всё так же увеличивается Название: Re: Помогите с полоской жизни Отправлено: z3lf от Февраль 07, 2010, 17:15:26 view_xview - переменная x относительно экрана
view_yview - переменная y относительно экрана т.е. к примеру если задать какому-то объекту координаты x=view_xview+50; y=view_yview+50; то объект всегда будет находиться от угла экрана на 50px У тебя точно n имеет ограничение? Название: Re: Помогите с полоской жизни Отправлено: sakh_badboy от Февраль 07, 2010, 17:17:12 Её както надо забивать отдельно,просто n же отвечает за хп.
СОри за мою тупость но в редакторе 2 день в кодах тоже. Название: Re: Помогите с полоской жизни Отправлено: z3lf от Февраль 07, 2010, 17:25:35 В этом и проблема, что люди начинают писать игры, не освоив азы. :-\
//create n=100; nMax=100; //step if(n>nMax) { n=nMax; } ну это так просто, щас учу AS3 и понимаю, что в gm не реализовано многое удобное. к примеру статические переменные. Название: Re: Помогите с полоской жизни Отправлено: sakh_badboy от Февраль 07, 2010, 17:34:31 Это игра и так для освоения. Так же начинал с варом там правда попроще там GUI в котором не писать вручную а просто запомнить и создовать грамотно. Хотя там и было для расширения функций Jass те же коды,но их я тогда не освоил
так не пашет я удивлён в действие create в коде написал то что ты говорил. в draw тоже вроде все нормально Добавлено: Март 02, 2011, 01:28:53 А где азы учит незнаю,пару статеек прочитал всего Название: Re: Помогите с полоской жизни Отправлено: z3lf от Февраль 07, 2010, 17:41:41 Это основы основ. Обычные алгоритмы. Это относится не только к gm, а ко всему программированию.
Название: Re: Помогите с полоской жизни Отправлено: sakh_badboy от Февраль 07, 2010, 17:42:51 ну вот их я то и незнаю. мне 15 лет всего то будет время ещё выучить =)
Название: Re: Помогите с полоской жизни Отправлено: z3lf от Февраль 07, 2010, 18:01:42 Органичение переменной:
//если n больше 100, то n равна 100 if(n>100) { n=100; } //если n меньше 0, то n равна 0 if(n<0) { n=0; } Ну это очень простой и не совсем серьезный метод. Название: Re: Помогите с полоской жизни Отправлено: sakh_badboy от Февраль 07, 2010, 18:07:12 вот что не так? http://depositfiles.com/files/yfz715jw1 (http://depositfiles.com/files/yfz715jw1)
Название: Re: Помогите с полоской жизни Отправлено: z3lf от Февраль 07, 2010, 18:16:42 зачем ты код добавляешь в create?
create воспроизводит код только один раз - при создании объекта. тебе стоит это записывать в step. Название: Re: Помогите с полоской жизни Отправлено: sakh_badboy от Февраль 08, 2010, 02:16:38 спс добрый человек ччто обьяснил мне пока что нубу как это делать. Ща буду пересаживать на другой движок 8)
Добавлено: Март 02, 2011, 01:28:59 такс вопросик сделал действие юнит сталкиваетс с обьектом "бла бла" и скрипт n-=10; в чем же проблема? и вылетает ошибка Цитировать ___________________________________________ ERROR in action number 1 of Collision Event with object obj_zombi for object obj_char: Error in code at line 1: n-=10; ^ at position 1: Unknown variable n Добавлено: Март 02, 2011, 01:29:03 И как сделать эту полоску красной? Название: Re: Помогите с полоской жизни Отправлено: drdan1959 от Февраль 08, 2010, 09:28:41 твоя старая полоска, которая двигается вместе с экраном: http://rghost.ru/952623 (http://rghost.ru/952623)
хоть тут и написано, что переменные не надо объявлять, все равно, если ты собираешься использовать переменную n, то в событии Сreate напиши n=0. Позволь дать тебе ещё пару советов: -скачай мануал на русском языке (хотя бы для седьмой версии). Если владеешь английским, читай английский. И по всем вопросам смотри его - очень полезная вещь. -называй переменные так, чтобы было лучше понятно что они значат. Например, у меня за здоровье отвечает переменная zdor. -пока ты не освоил азы не советую пользоваться чужими готовыми движками, ибо в них тебе будет очень сложно разобраться. Делай пока всё сам, со временем начнёшь кроить чужие движки и лепить из них свои. =) Название: Re: Помогите с полоской жизни Отправлено: sakh_badboy от Февраль 08, 2010, 09:35:57 спс,я кстати разобрался с той версией которую мне дали,но есть баг когда переносиш всё как надо рабоетает,сделал что от выстрела отнимаются жизни. Но ты почемуто шар. из действия Draw удаляю графическую часть всё работает но вместо юнита пустота. Хотя без этих кодов был нормальный спрай юнита
Добавлено: Март 02, 2011, 01:29:07 И ещё как же цвет настроить? а то она даже спрайта не использует Название: Re: Помогите с полоской жизни Отправлено: drdan1959 от Февраль 08, 2010, 10:15:47 Вообще-то как раз таки спрайт она и использует. Это кнопки переключения кадров спрайта: каждый кадр можно загрузить из отдельного изображения:
(http://s09.radikal.ru/i182/1002/48/909636132d52.jpg) Теперь про draw Цитировать Drawing event (Событие рисования) Образцы объекта, когда они видимы, рисуют свой спрайт на экране в каждом шаге. Когда Вы определяете действия в событии рисования, спрайт не рисуется, а вместо этого выполняются указанные действия. Это может использоваться, чтобы нарисовать вместо спрайта что-то другое, или чтобы сначала сделать некоторые изменения в параметрах спрайта. Существует множество действий рисования, которые в первую очередь предназначены для использования в событии рисования. Обратите внимание, что событие рисования выполняется только тогда, когда объект является видимым. Также обратите внимание, что независимо оттого, что Вы рисуете, события столкновения привязываются к спрайту, который ассоциирован с образцом объекта. То есть если ты в draw ничего не напишешь, ничего рисоваться и не будет. Если ты совсем уберёшь событие draw, то будет рисоваться объект. Название: Re: Помогите с полоской жизни Отправлено: sakh_badboy от Февраль 08, 2010, 10:31:34 ололо читаем тему. Я же сказал что использую другую е=нароботку которую мне сделали.
http://rghost.ru/948726 вот, правда на gm7 Добавлено: Март 02, 2011, 01:29:12 ответье плиз на предыдущий впрос понимаю что надоел но всё же. И ещё юзал закрепления изображения через Цитировать x=view_xview+50; Но камера закреплена и при смешении камеры картинка дёргается. Подскажите что можно ещё сделатьy=view_yview+50; Добавлено: Март 02, 2011, 01:29:15 юнит не видем если оставить скрипт Цитировать draw_rectangle(view_xview+10,view_yview+5,view_xview+10+n,view_yview+15,false); ,а если удалить то и не будет полосы. Сам методом научного тыка не разобралсяНазвание: Re: Помогите с полоской жизни Отправлено: Vendet от Февраль 08, 2010, 14:57:56 sakh_badboy В том и проблема, что ты походу сам запутался в движке, который взял уже готовый, и начал его изменять, при этом не усвоив хорошо GML, для начало надо было освоить азы, создать что нибудь по проще... и постепенно самому все создавать. Скрипт про ХудБар с жизнями надо не у Юнита прописывать, а желательно создавать объект который будет как бы системный, с него будет считываться все данные по игре.
Чтобы понять твою проблему, проще выложи свою наработку. Название: Re: Помогите с полоской жизни Отправлено: sakh_badboy от Февраль 10, 2010, 13:31:51 sakh_badboy В том и проблема, что ты походу сам запутался в движке, который взял уже готовый, и начал его изменять, при этом не усвоив хорошо GML, для начало надо было освоить азы, создать что нибудь по проще... и постепенно самому все создавать. Скрипт про ХудБар с жизнями надо не у Юнита прописывать, а желательно создавать объект который будет как бы системный, с него будет считываться все данные по игре. Я делал арканоид по туториалу,больше туториалов не нашёл.Чтобы понять твою проблему, проще выложи свою наработку. А я тебе дал тоже самое что у меня только без импорта =/ Название: Re: Помогите с полоской жизни Отправлено: Vendet от Февраль 10, 2010, 13:39:10 Цитировать Я делал арканоид по туториалу,больше туториалов не нашёл. Жди, ща закачаю сделал, кроме одного, я не нашел как сохранятся в игре, чтобы решить проблему с загрузкой.А я тебе дал тоже самое что у меня только без импорта =/ Добавлено: Март 02, 2011, 01:29:43 Что исправлено: - Переименован объект object154 как o_hudbar и все перенесено в него, типа сам худбар и полоска жизней. - Картинка hudbar не дергается как и жизни, заменил код, прописал через Draw, я там записал где и как в комментариях. - Герой, юнит виден. - Сделал hudbar на передний план, теперь зомби и другие объекты под худбаром а не на нем. - Полоска с жизнями красная. Я там прописал где, сам сделаешь любым цветом. - Жизни назвал как global.live а не n. По этому где прописано n заменяй на global.live - Отнимаются жизни от выстрелов врагов, сам выстави сколько будет отниматься жизней в obj_char при столкновении object4 (Пули врагов), желательно называй объекты узнаваемыми именами, типа o_vrag_pyli и т.д. - убрал галочку (Persistent) с объекта o_hudbar. Persistent - Постоянный объект продолжает существовать, даже когда Вы переходите из одной комнаты в другую. Скачать (http://rghost.ru/964736) :) Название: Re: Помогите с полоской жизни Отправлено: sakh_badboy от Февраль 10, 2010, 14:08:48 Жди, ща закачаю сделал, кроме одного, я не нашел как сохранятся в игре, чтобы решить проблему с загрузкой. [/quote] Во первых за всё огромное спасибо но пока качать не буду,скажу где load\save load - У обьекта obj_char есть событие press <Escape> там действие сохранить игру (прописан путь для теста можешь сменить) save - у обьекта button2 есть событие Left Released там загрузка (тоже по прописаному меню можешь сменить) Название: Re: Помогите с полоской жизни Отправлено: Vendet от Февраль 10, 2010, 14:22:02 Ок, гляну.
Название: Re: Помогите с полоской жизни Отправлено: sakh_badboy от Февраль 11, 2010, 04:24:32 Тему крою весь холивар переношу сюда http://forum.hellroom.ru/index.php?topic=607.new#new (http://forum.hellroom.ru/index.php?topic=607.new#new)
|