Пятница, 19 Апреля 2024, 02:18

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Провода
Провода
FireguyДата: Вторник, 24 Апреля 2012, 13:57 | Сообщение # 1
участник
Сейчас нет на сайте
Доброго времени суток!

Сегодня у меня возникли вопросы.

1. Как реализовать систему труб или проводов с передачей энергии например. Имеется в виду например передача энергии от генератора к аккумулятору.
2. Как реализовать выход воздуха из комнаты если разбита какая-либо стена которая ведет в космос (все из блоков). То есть человек начинает задыхаться от нехватки воздуха.

Все эти вопросы касаются TDS

Добавлено (24.04.2012, 13:57)
---------------------------------------------
Что некто не знает ?


Coder is like a King
in his own realm


Сообщение отредактировал Fireguy - Вторник, 24 Апреля 2012, 14:17
GameMixДата: Вторник, 24 Апреля 2012, 14:05 | Сообщение # 2
старожил
Сейчас нет на сайте
Quote (Fireguy)
1. Как реализовать систему труб или проводов с передачей энергии например.

Проверяй столкновения между частями трубопровода, если они соединены, тогда:
Code
энергия += значение

Quote (Fireguy)
2. Как реализовать выход воздуха из комнаты если разбита какая-либо стена которая ведет в космос (все из блоков)

При уничтожении одного из блоков стены записывай координаты разрушенного блока, а потом всем объектам воздуха командуй:
Code
move_towards_point(x,y,speed)

Если воздух должен обходить препятствия, то используй:
Code
mp_potential_step(x,y,stepsize,checkall)


Steel Standoff - 2D аркада.
Мои статьи
FireguyДата: Вторник, 24 Апреля 2012, 14:20 | Сообщение # 3
участник
Сейчас нет на сайте
GameMix, Как всегда выручил biggrin спс. Но мне кажется что воздух лучше организовать как переменную "ВОЗДУХ" на блоке пола? И если у блока рядом переменная понижается то у него тоже. Только как это сделать и хорошая ли идея?

Добавлено (24.04.2012, 14:20)
---------------------------------------------
GameMix?


Coder is like a King
in his own realm
GameMixДата: Вторник, 24 Апреля 2012, 14:29 | Сообщение # 4
старожил
Сейчас нет на сайте
Fireguy, да, можно и так. Я не знаю ведь, хочешь ты этот воздух отображать визуально или нет smile

Steel Standoff - 2D аркада.
Мои статьи
FireguyДата: Вторник, 24 Апреля 2012, 14:32 | Сообщение # 5
участник
Сейчас нет на сайте
GameMix, Неа воздух вроде невидимый happy

Добавлено (24.04.2012, 14:32)
---------------------------------------------
GameMix, Так как в коде проверить переменную блока который находиться рядом?


Coder is like a King
in his own realm
BrightSpotДата: Вторник, 24 Апреля 2012, 14:41 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
Твой способ распространения воздуха напоминает мою старую систему распространения воды... Ток у меня было в 3д...сейчас похимичу и напишу как тебе можно сделать...


Более мощный компьютер глючит быстрее и точнее.
FireguyДата: Вторник, 24 Апреля 2012, 14:42 | Сообщение # 7
участник
Сейчас нет на сайте
BrightSpot, Буду очень благодарен)

Coder is like a King
in his own realm
BrightSpotДата: Вторник, 24 Апреля 2012, 15:25 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
Короче: в блоке земли переменную vosduh=100 и del=0, в степе(сори что по простому-с телефона сижу):
if place_meeting(x,y+1,o_block)
{bl=instance_place(x,y+1,o_block)
if bl.vosduh=0
{del+=1}}//повторяеш этот кусок еще на 3 стороны...дальше копируешь то что вышло и вместо del+=1 ставиш:
bl.vosduh+=vosduh/del
должно выйти 8 подобных проверок:
4 с действием del+=1,
4 с - bl.vosduh+=vosduh/del... Дальше внизу пишеш vosduh/=del
del=0//все что вышло ставим под проверку: if vosduh>=1{сюда вставить}else{vosduh=0}
так воздух будет распространятся...а чтобы он выходил сделай блок у которого в степе:vosduh=0
и создавай его на месте "дырки"

Добавлено (24.04.2012, 15:25)
---------------------------------------------
Еще забыл... o_block - родитель всех блоков над которыми есть воздух и родитель "дырок"...



Более мощный компьютер глючит быстрее и точнее.
FireguyДата: Вторник, 24 Апреля 2012, 18:00 | Сообщение # 9
участник
Сейчас нет на сайте
BrightSpot, Если о_блок эт "тайл" пола то что насчет стены ? Получаеться в блоке стены пишешь что после разрушения создавать о_блок с 1 кислорода?
А в космосе что должно быть? Там должны быть другие объекты ибо они прозрачные и кислород в себе "уничтожают". Тогда в о_блок надо будет все переписывать ?

И как сделать игрока "дышащим" ?

Добавлено (24.04.2012, 17:57)
---------------------------------------------
Чет не работает вообще(

Вот пример - http://rghost.ru/37746667

Пароль в личку smile


Coder is like a King
in his own realm


Сообщение отредактировал Fireguy - Вторник, 24 Апреля 2012, 18:01
BrightSpotДата: Вторник, 24 Апреля 2012, 18:24 | Сообщение # 10
заслуженный участник
Сейчас нет на сайте
Пример скачать не могу - сижу с телефона... О_блок - все объекты пола тот объект что создается на месте дырки(невидимый) и уничтожает воздух... Дыхание можно сделать через столкновение и проверку на наличие воздуха в блоке... Да и еще нужно в блоке дырки степ сменить на аларм и задать более менее приличное время(иначе воздух будет улетать мгновенно)


Более мощный компьютер глючит быстрее и точнее.
FireguyДата: Вторник, 24 Апреля 2012, 18:31 | Сообщение # 11
участник
Сейчас нет на сайте
BrightSpot, Дело в том что воздух вообще не уходит! Я поставил чтобы каждый блок писал свой "ВОЗДУХ". И так у всех по 100 а у дырки 0 и нечего не менялось- 100 так и оставалось surprised

Добавлено (24.04.2012, 18:31)
---------------------------------------------
Вот код из степа:

Code
if vosduh>=1
{

if place_meeting(x,y+1,o_block)  
{bl=instance_place(x,y+1,o_block)  
if bl.vosduh=0  
{del+=1}}//повторяеш этот кусок еще на 3 стороны...дальше копируешь то что вышло и вместо del+=1 ставиш:  

if place_meeting(x,y-1,o_block)  
{bl=instance_place(x,y-1,o_block)  
if bl.vosduh=0  
{del+=1}}//повторяеш этот кусок еще на 3 стороны...дальше копируешь то что вышло и вместо del+=1 ставиш:  

if place_meeting(x+1,y,o_block)  
{bl=instance_place(x+1,y,o_block)  
if bl.vosduh=0  
{del+=1}}//повторяеш этот кусок еще на 3 стороны...дальше копируешь то что вышло и вместо del+=1 ставиш:  

if place_meeting(x-1,y,o_block)  
{bl=instance_place(x-1,y,o_block)  
if bl.vosduh=0  
{del+=1}}//повторяеш этот кусок еще на 3 стороны...дальше копируешь то что вышло и вместо del+=1 ставиш:  

if place_meeting(x,y+1,o_block)  
{bl=instance_place(x,y+1,o_block)  
if bl.vosduh=0  
{bl.vosduh+=vosduh/del}}

if place_meeting(x,y-1,o_block)  
{bl=instance_place(x,y-1,o_block)  
if bl.vosduh=0  
{bl.vosduh+=vosduh/del}}

if place_meeting(x+1,y,o_block)  
{bl=instance_place(x+1,y,o_block)  
if bl.vosduh=0  
{bl.vosduh+=vosduh/del}}

if place_meeting(x-1,y,o_block)  
{bl=instance_place(x-1,y,o_block)  
if bl.vosduh=0  
{bl.vosduh+=vosduh/del}}

vosduh/=del
del = 0

}

else

{vosduh = 0}


Coder is like a King
in his own realm
stalker5889Дата: Вторник, 24 Апреля 2012, 19:31 | Сообщение # 12
Свободный игродел
Сейчас нет на сайте
Ошибся



Сообщение отредактировал stalker5889 - Вторник, 24 Апреля 2012, 19:31
FireguyДата: Четверг, 26 Апреля 2012, 23:51 | Сообщение # 13
участник
Сейчас нет на сайте
BrightSpot

Coder is like a King
in his own realm
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Провода
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг