Провода
|
|
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. Как реализовать систему труб или проводов с передачей энергии например. Проверяй столкновения между частями трубопровода, если они соединены, тогда: 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, Как всегда выручил спс. Но мне кажется что воздух лучше организовать как переменную "ВОЗДУХ" на блоке пола? И если у блока рядом переменная понижается то у него тоже. Только как это сделать и хорошая ли идея? Добавлено (24.04.2012, 14:20) --------------------------------------------- GameMix?
Coder is like a King in his own realm
|
|
| |
GameMix | Дата: Вторник, 24 Апреля 2012, 14:29 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| Fireguy, да, можно и так. Я не знаю ведь, хочешь ты этот воздух отображать визуально или нет
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
Fireguy | Дата: Вторник, 24 Апреля 2012, 14:32 | Сообщение # 5 |
участник
Сейчас нет на сайте
| GameMix, Неа воздух вроде невидимый Добавлено (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
Пароль в личку
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 так и оставалось Добавлено (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
|
|
| |