Создать игру, создание игр, конструктора игр, игровые движки, разработка игр, сделать игру
Приветствую Вас Гость · Вход · Регистрация  ·  Новые сообщения · Участники · Правила · Поиск · RSS
Помощь новичкам с выбором конструктора, игрового движка
Hagrael Дата: Пятница, 15.10.2010, 14:19 | Сообщение # 761
Просмотр профиля: Hagrael

Сообщений: [1475]
Naruto9827, вижу, ты начал что-то понимать =) Мой запас добра полон, но надеюсь, и твоя способность понимать тоже, так что давай я тебе объясню.
В Game Maker есть мизерные элементы ООП (Объектно-Ориентированное Программирование), думаю, из названия понятно, что это. ООП подразумевает многие хитрости и вещи, но по сути это просто работа с объектами, и у каждого свои переменные, к примеру своя переменная health и т. д. и т. п. Думаю, ты понял. Если ты захочешь получить доступ из одного объекта к переменной другого, то такая запись:
Code
show_message(health)

не выдаст тебе того, что ты хочешь. Она выдаст жизни этого объекта, а вот эта запись:
Code
show_message(object.health)

выдаст тебе жизни объекта под названием object. Т. е. ты должен писать имя_объекта.нужная_переменная, и всё ОК будет. Так вот, если ты что-то рисуешь объектом, то спрайт показываться не будет (не знаю сам, почему), и поэтому все рисовалки надо сбрасывать в отдельный объект. Назовём его health_bar к примеру. Так вот там в Draw пишешь:
Code
draw_text(view_xview+3,view_yview+3,hero.health)

Щас всё поясню. В данном случае объект hero - герой, которого жизни собственно нам и нужны. Переменные view_xview и view_yview содержат координаты камеры (левый верхний угол по x и по y). Таким образом, мы рисуем жизни в левом верхнем углу экрана с отступом в 3px. Почему мы использовали view_xview+3 и view_yview+3, а не просто 3? Потому что в дальнейшем ты захочешь сделать так, чтобы камера следила за объектом, и если поставишь 3, а не view_xview+3, то рисоваться будет в левом верхнем углу комнаты, а не камеры. x и y отмеряются от начала комнаты. А те жизни, которые тебе дал Путник, двигаются за героем, т. к. он написал:
Code
draw_text(x,y,health)

а x и y - это переменные, хранящие месторасположение объекта. На заметку: mouse_x и mouse_y - координаты мыши, чтобы не было разнобоя с разрешениями устанавливай нужное сам. Зайди слева в Global Settings, там где-то это можно настроить.


George & Daniel:
Война сухофруктов
Naruto9827 Дата: Пятница, 15.10.2010, 17:01 | Сообщение # 762
Просмотр профиля: Naruto9827

Сообщений: [93]
я сейчас эти все коды перепробовал, но у меня заместо игры открывается окошко и как будто коды неверные пишет
вот что в окошке написано
___________________________________________
ERROR in
action number 2
of Create Event
for object герой:

Error in code at line 1:
show_message(object.health)
^
at position 14: Unknown variable object

Сообщение отредактировал: Naruto9827 - Пятница, 15.10.2010, 17:09
Hagrael Дата: Пятница, 15.10.2010, 18:41 | Сообщение # 763
Просмотр профиля: Hagrael

Сообщений: [1475]
Naruto9827, тут всё понятно написано - ты не объявил переменную health у объекта object. В create ты можешь использовать переменные других объектов только тогда, когда ты уверен, что эти другие объекты есть и что у них есть эта переменная.

George & Daniel:
Война сухофруктов
Naruto9827 Дата: Пятница, 15.10.2010, 20:42 | Сообщение # 764
Просмотр профиля: Naruto9827

Сообщений: [93]
я не понял, как обьявить переменную health у объекта object?

Добавлено (15.10.2010, 20:42)
---------------------------------------------
ладно с жизнями мы разобрались,
а как теперь сделать чтоб враги бегали в разные стороны?

Скорп Дата: Пятница, 15.10.2010, 20:46 | Сообщение # 765
( Разлагаюсь )
Просмотр профиля: Скорп

Сообщений: [936]
врагу в Create:
direction=random(360)
speed=10 (ну или сколько там надо?)


Рандомный текст.
Naruto9827 Дата: Пятница, 15.10.2010, 23:23 | Сообщение # 766
Просмотр профиля: Naruto9827

Сообщений: [93]
ты нечего не перепутал?
от того что ты написал нечего не изменилось
Скорп Дата: Суббота, 16.10.2010, 00:26 | Сообщение # 767
( Разлагаюсь )
Просмотр профиля: Скорп

Сообщений: [936]
А ты раньше делал движение? Тогда сотри его.

Рандомный текст.
Naruto9827 Дата: Суббота, 16.10.2010, 10:31 | Сообщение # 768
Просмотр профиля: Naruto9827

Сообщений: [93]
стереть движение врага?

Добавлено (16.10.2010, 10:31)
---------------------------------------------
если я его сотру то неправельно получится

PaintKiller Дата: Суббота, 16.10.2010, 11:16 | Сообщение # 769
Просмотр профиля: PaintKiller

Сообщений: [1738]
Сотри и поставь
Quote (Scorpio)
врагу в Create:
direction=random(360)
speed=10 (ну или сколько там надо?)
Naruto9827 Дата: Суббота, 16.10.2010, 12:16 | Сообщение # 770
Просмотр профиля: Naruto9827

Сообщений: [93]
да, теперь они двигаются в разные стороны, но когда они сталкиваются со стеной они больше не двигаются
ВОПРОС: как сделать так чтоб они по всей площади ходили и когда сталкивались со стеной шли в другое место?
Hagrael Дата: Суббота, 16.10.2010, 13:26 | Сообщение # 771
Просмотр профиля: Hagrael

Сообщений: [1475]
Naruto9827, самый примитивный способ и по-моему дебильный это поставить на collision со стеной
Code
action_bounce()

а ваще включи логику! Если проблема в столкновении, то делай обработку collision, если ошибку выдаёт такую, то переменную не обозначил... Без логики в программировании никуда! Думай сам, только потом спрашивай на форуме.


George & Daniel:
Война сухофруктов
Naruto9827 Дата: Суббота, 16.10.2010, 17:42 | Сообщение # 772
Просмотр профиля: Naruto9827

Сообщений: [93]
как сделать обработку и переменую обозначить?

Сообщение отредактировал: Naruto9827 - Суббота, 16.10.2010, 17:44
dyatel Дата: Суббота, 16.10.2010, 19:01 | Сообщение # 773
( программюга )
Просмотр профиля: dyatel

Сообщений: [298]
Обработку? Это как? Чтобы переменная изменялась или выводилась?
А обозначить - в "create" объекта у которого должна быть эта переменная пишешь (действие execute code)
Code
название_переменной_на_английской=значение_переменной

Но есть маленький ньюанс (правильно написал?). Если значение переменной НЕ числовое и не true или false, то значение заключается в апострафы (ковычки). Например. " weapon='Автомат' ". " money=200 ". " have_weapon=false ". " have_pistol=true ".
Hagrael Дата: Суббота, 16.10.2010, 19:20 | Сообщение # 774
Просмотр профиля: Hagrael

Сообщений: [1475]
Naruto9827, sad sad sad
Quote (Hagrael)
самый примитивный способ и по-моему дебильный это поставить на collision со стеной
Code
action_bounce()


George & Daniel:
Война сухофруктов
Naruto9827 Дата: Суббота, 16.10.2010, 20:19 | Сообщение # 775
Просмотр профиля: Naruto9827

Сообщений: [93]
нефига не понял
Путник Дата: Суббота, 16.10.2010, 21:25 | Сообщение # 776
Просмотр профиля: Путник

Сообщений: [278]
Naruto9827, ОЗНАКОМЬСЯ!
Не будь глупым. Сначала ищи в инете, а что не нашёл задавай нам!


Ты считаешь что Game Maker это круто?
_¿_ Дата: Суббота, 16.10.2010, 22:52 | Сообщение # 777
Просмотр профиля: _¿_

Сообщений: [1192]
как привязать жизнь к моему спрайту панели? и как сделать так чтобы панель двигалась за персонажем?
DraggonFantasy Дата: Воскресенье, 17.10.2010, 01:02 | Сообщение # 778
Просмотр профиля: DraggonFantasy

Сообщений: [1514]
Quote (Lopatin_Sergey)
панель двигалась за персонажем?

У панели в степе
x=название объекта персонажа.х
н=название объекта персонажа.у
_¿_ Дата: Воскресенье, 17.10.2010, 09:49 | Сообщение # 779
Просмотр профиля: _¿_

Сообщений: [1192]
Дракон, спс!это мне тоже пригодится!но мне нужно именно чтобы панель оставалась в верхнем левом углу...
Hagrael Дата: Воскресенье, 17.10.2010, 10:03 | Сообщение # 780
Просмотр профиля: Hagrael

Сообщений: [1475]
Lopatin_Sergey, используй координаты камеры:
step:
Code
x=view_xview+2
y=view_yview+2

Таким образом всё будет слева сверху с отступом в 2px.

Добавлено (17.10.2010, 10:03)
---------------------------------------------
Naruto9827, что тут непонятного?!!! Скажи что ты вообще понял из тех уроков которые ты "смотрел"!!!! angry
Ставишь на объект врага на collision со стеной такой код:

Code
action_bounce()

что тут сложного???? Тебе ваще сколько лет?!!! angry angry angry


George & Daniel:
Война сухофруктов
Поиск:

При полном или частичном копировании материалов сайта ссылка на Make-Games.ru обязательна. Make-Games.ru © 2008 - 2024 Хостинг от uCoz
Топ Разработка игр