Game Maker - создание игр | HellRoom Games
Ноябрь 17, 2025, 15:51:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: 1 ... 20 21 [22] 23 24 ... 28   Вниз
  Печать  
Автор Тема: Пример инвентаря  (Прочитано 335566 раз)
0 Пользователей и 1 Гость смотрят эту тему.
lesuk24
Новичок
*

Репутация: 0
Offline Offline

API: Game Maker 8.0 Pro
Сообщений: 1


« Ответ #315 : Апрель 24, 2013, 16:05:08 »

Unknown variable txt or array index out of bounds вот такая ошибка что делать?
Записан
AndrewVideoGames
Главный Модератор
*

Репутация: 821
Offline Offline

Пол: Мужской
Награды:
За постоянность! [500 дней на форуме]За лояльность! [+750 репутации]5000 сообщений!За помощь новичкам!
API: GameMaker Studio Pro
Деятельность: А я кто? А я руководитель!
Сообщений: 7316



« Ответ #316 : Апрель 24, 2013, 19:29:12 »

 Переменная txt не задана или значения массива выходят за его пределы.
Записан
Dva_Kota
Гл. Администратор
*

Репутация: 636
Offline Offline

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+500 репутации]Настоящий игродел!Тру Админ :D1 место за игру: Energy Wars (Конкурс Золотые Руки)...
API: GameMaker Studio Standard
Сообщений: 3245



« Ответ #317 : Апрель 25, 2013, 10:40:36 »

Ошибка в примере или после переноса примера в игру?
И лог ошибки полностью.
Записан

Vorti
Новичок
*

Репутация: 0
Offline Offline

API: GameMaker Studio 2
Деятельность: Страдания
Сообщений: 3


UWU


« Ответ #318 : Июль 27, 2013, 14:44:46 »

Спос! уЖЕ ЮЗАю В СВОЕЙ ИГРЕ!
Записан

Боль настигнет каждого
Troir
GM Pro user
*

Репутация: 100
Offline Offline

Награды:
500 сообщений!За постоянность! [10 дней на форуме]
API: GameMaker 8.1 Standard
Сообщений: 766



« Ответ #319 : Сентябрь 15, 2013, 09:53:04 »

Dva_Kota, а в примере как-нибудь ограничивается область, на которой работает событие зажатия правой кнопки мыши и ее отпускание?

Если проще, у меня проблема в том, что если мышь за пределами инвентаря и если я пытаюсь нажать правую кнопку мыши то вылезает ошибка:
Код:
ERROR in
action number 1
of Mouse Event for Glob Right Pressed
for object o_inv:

Error in code at line 8:
     if slot[slot_place_x,slot_place_y]>0     //slot аналог txt, как и slot_place_x -  klick_x
        ^
at position 7: Unknown variable slot or array index out of bounds

Проблема решается легко, достаточно написать collision_rectangle с координатами инвентаря, но я не пойму, почему в примере все работает и без этого?
Записан
Dva_Kota
Гл. Администратор
*

Репутация: 636
Offline Offline

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+500 репутации]Настоящий игродел!Тру Админ :D1 место за игру: Energy Wars (Конкурс Золотые Руки)...
API: GameMaker Studio Standard
Сообщений: 3245



« Ответ #320 : Сентябрь 16, 2013, 17:43:46 »

Проверка находится ли мышь в пределах инвентаря написана в третьей строке события Glob Right Pressed в объекте o_inv и там даже есть комментарий:

Код: (Glob Right Pressed)
if position_meeting(mouse_x,mouse_y,self)//если курсор над инвентарем

Вполне возможно что в твоем примере тоже есть эта проверка, но для того чтобы она правильно работала в событии Create этого объекта нужно растянуть спрайт (маску спрайта) инвентаря (которая вначале является одной ячейкой) до размеров инвентаря:
Код: (Create)
//Параметры инвентаря
inv_height_y=3;//количество ячеек в высоту
inv_width_x=4;//количество ячеек в ширину

...

/*Растягиваем спрайт ячейки таким образом, чтобы он был по размеру как все ячейки вместе взятые
Ону будет служить маской столкновения для инвентаря. Это нужно для выполнения события
нажатия кнопок мыши на инвентаре. Каждая ячейка будет рисоваться отдельно в событии Draw*/
image_xscale=inv_width_x;
image_yscale=inv_height_y;
Записан

Troir
GM Pro user
*

Репутация: 100
Offline Offline

Награды:
500 сообщений!За постоянность! [10 дней на форуме]
API: GameMaker 8.1 Standard
Сообщений: 766



« Ответ #321 : Сентябрь 16, 2013, 19:38:19 »

Спасибо, но не помогло.

Решил проблему другим способом.

Записан
SevvenUp
Посетитель
**

Репутация: 0
Offline Offline

API: Love
Сообщений: 19


« Ответ #322 : Сентябрь 23, 2013, 13:23:24 »

есть ли инвентарь как этот только что бы итемы были не обектами а ну к примеру
item[0,0]=0 //ID item'a
item[0,1]='ввв' // Имя Item'a
и.т.д

Решено
« Последнее редактирование: Сентябрь 24, 2013, 16:52:24 от SevvenUp » Записан
maks1221232
Активный участник
*****

Репутация: -1
Offline Offline

Пол: Мужской
API: Game Maker 8.0 Pro
Деятельность: Создаю TDS и Платформеры
Сообщений: 276



« Ответ #323 : Декабрь 18, 2013, 12:32:38 »

Как сделать вычисление ячейки на которую наведена мышь?

screenshot100.png
Пример инвентаря
* screenshot100.png (3.11 Кб, 367x129 - просмотрено 1299 раз.)
Записан

Делаю неплохие ИИ для tds и Платформеров!
Dva_Kota
Гл. Администратор
*

Репутация: 636
Offline Offline

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+500 репутации]Настоящий игродел!Тру Админ :D1 место за игру: Energy Wars (Конкурс Золотые Руки)...
API: GameMaker Studio Standard
Сообщений: 3245



« Ответ #324 : Декабрь 18, 2013, 13:54:54 »

Это зависит от того как сделан твой инвентарь. По картинке это определить нельзя))
Я, в своем примере, вычислял таким образом: Находим расстояние от верхнего левого угла инвентаря до указателя мыши (отдельно по X и отдельно по Y). Делим, соответственно, на ширину и высоту спрайта ячейки (если спрайты квадратные можно делить на постоянную величину, у меня она занесена в переменные slot_width_x и slot_height_y, чтобы можно было легко менять размеры ячейки и не переписывать весь код). Получаем номер ячейки по вертикали и горизонтали - координаты ячейки в массиве.
Записан

maks1221232
Активный участник
*****

Репутация: -1
Offline Offline

Пол: Мужской
API: Game Maker 8.0 Pro
Деятельность: Создаю TDS и Платформеры
Сообщений: 276



« Ответ #325 : Декабрь 18, 2013, 14:09:53 »

Это зависит от того как сделан твой инвентарь. По картинке это определить нельзя))
Я, в своем примере, вычислял таким образом: Находим расстояние от верхнего левого угла инвентаря до указателя мыши (отдельно по X и отдельно по Y). Делим, соответственно, на ширину и высоту спрайта ячейки (если спрайты квадратные можно делить на постоянную величину, у меня она занесена в переменные slot_width_x и slot_height_y, чтобы можно было легко менять размеры ячейки и не переписывать весь код). Получаем номер ячейки по вертикали и горизонтали - координаты ячейки в массиве.


У меня чуть по другому. Если хочешь посмотреть коды инвентаря, то смотри в той темке которую я создал.
Записан

Делаю неплохие ИИ для tds и Платформеров!
sanya9090
Пользователь
***

Репутация: 9
Offline Offline

Пол: Мужской
API: Game Maker 8.0 Pro
Деятельность: Бездельник
Сообщений: 79


Устал...


« Ответ #326 : Январь 03, 2014, 15:31:34 »

Здравствуйте!
Есть например какая-то вещь скажем броня. При надевании ее персонажа выполняется act_on и там все просто и логично например: global.zachita+=5; добовляем к нашей защите +5 что дала нам броня.
 
Как сделать так если на карте броня встречается НЕСКОЛЬКО (один и тот же объект) раз, а характеристики у нее должны быть разные. (можно конечно делать отдельные объекты) как я и сделал, но это не вариант.

Хочу irandom_range(x1,x2) чтобы работал. Но нечего не выходит.
В создании брони например стоит bron= irandom_range(5,10);
Тут же ниже  act_on ='global.zachita+=bron; ' (тут рандом ставить нельзя т.к. при надевании одной и той же вещи будут даваться разные характеристики)

Но это не работает если на карте несколько одинаковых вещей рандом берется только от ПЕРВОЙ созданной.
Что же делать?
Записан

Babbler - hard платформер
Bastard - RPG
Xageu
«Старожил форума»
******

Репутация: 208
Offline Offline

Пол: Мужской
Награды:
1000 сообщений!За постоянность! [50 дней на форуме]За лояльность! [+150 репутации]За отличную игру Peace, Death!Настоящий игродел!
API: GameMaker Studio Master
Деятельность: Гей-дизайнер
Сообщений: 1046


Хадей - Друг Детей


WWW
« Ответ #327 : Январь 03, 2014, 15:52:35 »

Обращаться не к имени объекта, а конкретно к подобранному объекту
Записан

69
sanya9090
Пользователь
***

Репутация: 9
Offline Offline

Пол: Мужской
API: Game Maker 8.0 Pro
Деятельность: Бездельник
Сообщений: 79


Устал...


« Ответ #328 : Январь 03, 2014, 16:14:30 »

Обращаться не к имени объекта, а конкретно к подобранному объекту

Как будто не ответил, а просто сформулировал мой вопрос по короче.) Как?
Что конкретно прописать в act_on='  '   ?


Записан

Babbler - hard платформер
Bastard - RPG
AndrewVideoGames
Главный Модератор
*

Репутация: 821
Offline Offline

Пол: Мужской
Награды:
За постоянность! [500 дней на форуме]За лояльность! [+750 репутации]5000 сообщений!За помощь новичкам!
API: GameMaker Studio Pro
Деятельность: А я кто? А я руководитель!
Сообщений: 7316



« Ответ #329 : Январь 03, 2014, 16:41:39 »

 Что ты непонятного, Хадей сказал, что надо обращаться не к имени объекта(ибо объектов с таким именем несколько), а к конкретному экземпляру, то есть его  номеру, id.
Записан
Страниц: 1 ... 20 21 [22] 23 24 ... 28   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.072 секунд. Запросов: 34.