Game Maker - создание игр | HellRoom Games
Февраль 08, 2025, 07:23:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

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

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

Пол: Мужской
API: Game Maker 8.0 Pro
Деятельность: Учусь gml
Сообщений: 5


« : Май 18, 2012, 10:19:39 »

Например в комнате объекты могут ходить только по клеткам(как в шахматах), например: один объект может ходить на одну клетку во все 8  сторон, другой по 2 клетки на все 8 сторон . . .
Записан
PGames
GM Pro user
*

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

Пол: Мужской
Награды:
500 сообщений!За постоянность! [10 дней на форуме]Настоящий игродел!2 место на HellRoom Jam #3, Каменный векЗа участие в Весеннем конкурсе.
API: GameMaker Studio 2
Деятельность: да
Сообщений: 766



« Ответ #1 : Май 18, 2012, 10:23:18 »

Записан
Dmi7ry
Гл. Администратор
*

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

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+1000 репутации]За помощь в развитии форума!Знаток Game Maker!За помощь новичкам!
API: GameMaker Studio Master
Деятельность: Code, design
Сообщений: 6626



WWW
« Ответ #2 : Май 18, 2012, 10:26:10 »

а также тут
Записан

- А какой, собственно, командой процессора колобок ест черта?
- Командой EAT...
Справка и FAQ в правом верхнем углу...
Грабер
Посетитель
**

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

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

Тот кто не понимает тому не понять


« Ответ #3 : Май 23, 2012, 19:35:22 »

в общем можно было просто написать что
Цитировать
ds_grid_create(w,h) Создаёт сетку с шириной w и высотой h, и возвращает целое число – идентификатор id, который должен будет использоваться в последующих функциях. Вы можете создавать несколько сеток.

нагло спер из справки
Записан

Strateg
GM Pro user
*

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

Пол: Мужской
Награды:
500 сообщений!За постоянность! [50 дней на форуме]
API: Game Maker 8.0 Pro
Деятельность: изобретаю велосипед
Сообщений: 562



« Ответ #4 : Май 23, 2012, 20:28:57 »

А можно тупо создать массив и виртуально работать с массивом.
Записан

geroy231
GM Pro user
*

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

Пол: Мужской
Награды:
500 сообщений!За постоянность! [100 дней на форуме]
API: Game Maker 8.0 Pro
Сообщений: 952



« Ответ #5 : Май 23, 2012, 20:54:43 »

А можно тупо создать массив и виртуально работать с массивом.
можно, но стоит ли?

в гамаке операции с сетками гораздо быстрее
Записан

Likan
Новичок
*

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

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


« Ответ #6 : Май 23, 2012, 23:19:47 »

Хм. Понимаю что оффтоп, но Ануар, а ты не из Астаны и не играл-ли одно время в Ласт Чаос?
Записан
Strateg
GM Pro user
*

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

Пол: Мужской
Награды:
500 сообщений!За постоянность! [50 дней на форуме]
API: Game Maker 8.0 Pro
Деятельность: изобретаю велосипед
Сообщений: 562



« Ответ #7 : Май 23, 2012, 23:52:25 »

А можно тупо создать массив и виртуально работать с массивом.
можно, но стоит ли?

в гамаке операции с сетками гораздо быстрее
на форуме видел обсуждение, где говорилось обратное.
Записан

YellowAfterlife
Videogames, I'm afraid
Главный Модератор
*

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

Пол: Мужской
Награды:
Добавление и перевод новостей о Game Maker!500 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+300 репутации]Настоящий игродел!Знаток Game Maker!...
API: GameMaker Studio 2
Сообщений: 731



WWW
« Ответ #8 : Май 24, 2012, 01:36:01 »

на форуме видел обсуждение, где говорилось обратное.
Массив выигрывает на операциях "прямого доступа" (a[i, j] = v, v = a[i, j])
Сетка выигрывает на региональных операциях (ds_grid_region_write к примеру работает в десятки раз быстрее "ручного" перебирания индексов с установкой значений, потому что перечисления выполняются на стороне движка, без замедления процессом интерпретации).
Записан

Ануар
Новичок
*

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

Пол: Мужской
API: Game Maker 8.0 Pro
Деятельность: Учусь gml
Сообщений: 5


« Ответ #9 : Июнь 03, 2012, 13:56:12 »

Хм. Понимаю что оффтоп, но Ануар, а ты не из Астаны и не играл-ли одно время в Ласт Чаос?
да я из Астаны, но я не играл в эту игру

Добавлено: Июнь 03, 2012, 14:04:20

Цитировать
ds_grid_create(w,h) Создаёт сетку с шириной w и высотой h, и возвращает целое число – идентификатор id, который должен будет использоваться в последующих функциях. Вы можете создавать несколько сеток.


ширина и высота для одной клетки или всей сетки?
Записан
geroy231
GM Pro user
*

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

Пол: Мужской
Награды:
500 сообщений!За постоянность! [100 дней на форуме]
API: Game Maker 8.0 Pro
Сообщений: 952



« Ответ #10 : Июнь 03, 2012, 14:11:51 »


Цитировать
ds_grid_create(w,h) Создаёт сетку с шириной w и высотой h, и возвращает целое число – идентификатор id, который должен будет использоваться в последующих функциях. Вы можете создавать несколько сеток.


ширина и высота для одной клетки или всей сетки?
одной клетки
и кстати во многих случаях достаточно функций
Код:
place_snapped(hsnap,vsnap) Возвращает истину, если текущий экземпляр объекта выровнен по сетке с ячейками размерами vsnap на hsnap пикселей.
move_random(hsnap,vsnap) Перемещает текущий экземпляр объекта в произвольную свободную ячейку сетки текущей комнаты.
move_snap(hsnap,vsnap) Перемещает текущий экземпляр объекта в ближайшую ячейку сетки текущей комнаты.
но это конечно зависит от игры
Записан

Ануар
Новичок
*

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

Пол: Мужской
API: Game Maker 8.0 Pro
Деятельность: Учусь gml
Сообщений: 5


« Ответ #11 : Июнь 03, 2012, 14:20:55 »


Цитировать
ds_grid_create(w,h) Создаёт сетку с шириной w и высотой h, и возвращает целое число – идентификатор id, который должен будет использоваться в последующих функциях. Вы можете создавать несколько сеток.


ширина и высота для одной клетки или всей сетки?
одной клетки
и кстати во многих случаях достаточно функций
Код:
place_snapped(hsnap,vsnap) Возвращает истину, если текущий экземпляр объекта выровнен по сетке с ячейками размерами vsnap на hsnap пикселей.
move_random(hsnap,vsnap) Перемещает текущий экземпляр объекта в произвольную свободную ячейку сетки текущей комнаты.
move_snap(hsnap,vsnap) Перемещает текущий экземпляр объекта в ближайшую ячейку сетки текущей комнаты.
но это конечно зависит от игры
О, спасибо!!!

Добавлено: Июнь 03, 2012, 14:25:17
А код разделения на сетку в каком объекте писать?
Записан
Грабер
Посетитель
**

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

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

Тот кто не понимает тому не понять


« Ответ #12 : Июнь 08, 2012, 17:53:27 »

мож в отдельном,
а мож кудато втулить
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

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