Понедельник, 18 Ноября 2024, 13:20

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Проверка объекта
BeavisxxiДата: Четверг, 18 Августа 2011, 06:13 | Сообщение # 1
был не раз
Сейчас нет на сайте
Как проверить есть ли между двумя объектами третий?
Желательно что бы проверка происходила в одном из крайних объектов..
михаДата: Четверг, 18 Августа 2011, 07:52 | Сообщение # 2
почти ветеран
Сейчас нет на сайте
В одном из крайних объектов, в степ пишешь:
Quote
if collision_line(x,y,второй_объект.x,второй_объект.y,третий_объект,1,1)>0
и_дальше_что_должно_случиться


Сообщение отредактировал миха - Четверг, 18 Августа 2011, 07:54
TranscedДата: Четверг, 18 Августа 2011, 09:51 | Сообщение # 3
TransceD = Game Maker
Сейчас нет на сайте
миха, так а почему >0, может так:
Code
if collision_line(x,y,второй_объект.x,второй_объект.y,третий_объект,1,1)<0
Dva_KotaДата: Четверг, 18 Августа 2011, 10:24 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
можно вообще не сравнивать с нолем: если на линии будет третий объект то функция возвращает true

Новый пример инвентаря! /20.06.2012/

Energy Wars
михаДата: Пятница, 19 Августа 2011, 08:37 | Сообщение # 5
почти ветеран
Сейчас нет на сайте
Dva_Kota, спасибо. Если честно не знал.
SalahAdDinДата: Пятница, 19 Августа 2011, 17:58 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
О том что функция возвращает булевые написано в справке. И возвращает она только булевые, либо ложь либо истина. Чем вы читаете?

Фотошоп это не сложно. Немного теории, полезной на практике:
Работа с наложением текстур
Рисуем без планшета
михаДата: Суббота, 20 Августа 2011, 16:18 | Сообщение # 7
почти ветеран
Сейчас нет на сайте
SalahAdDin, Я НЕ ЧИТАЛ СПРАВКУ!!! Я САМОУЧКА!!!
SalahAdDinДата: Суббота, 20 Августа 2011, 17:42 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
Quote (миха)
SalahAdDin, Я НЕ ЧИТАЛ СПРАВКУ!!! Я САМОУЧКА!!!

Жаль что буквы нельзя сделать еще больше, м?
Ты не самоучка, есть более подходящее слово, за которое, впрочем, меня точно забанят. Тут все самоучки. Тут все, кроме тебя очевидно, учились по справке. Так почему у большинства хватает мозгов прочитать ее а у тебя нет? Это ведь очевидно, да? biggrin


Фотошоп это не сложно. Немного теории, полезной на практике:
Работа с наложением текстур
Рисуем без планшета
BrightSpotДата: Суббота, 20 Августа 2011, 18:23 | Сообщение # 9
заслуженный участник
Сейчас нет на сайте
Quote (SalahAdDin)
Тут все, кроме тебя очевидно, учились по справке. Так почему у большинства хватает мозгов прочитать ее а у тебя нет? Это ведь очевидно, да? biggrin

слушай булевые значения это те же самые 1 и 0 так смысл тут понты за справку разводить? я к тому времени как справку первый раз открыл уже знал большую часть GML-a! Поэтому каждый имеет выбор как ему учится!



Более мощный компьютер глючит быстрее и точнее.
SalahAdDinДата: Суббота, 20 Августа 2011, 21:42 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
Quote (BrightSpot)
слушай булевые значения это те же самые 1 и 0 так смысл тут понты за справку разводить

Еще один индус? Ты тоже яичницу в кастрюле жаришь?
К слову, ты очень переоцениваешь себя. Можно выучить наизусть все функции из справки, но ничему так и не научиться толком. Ты об этом?

Quote (BrightSpot)
Поэтому каждый имеет выбор как ему учится!

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


Фотошоп это не сложно. Немного теории, полезной на практике:
Работа с наложением текстур
Рисуем без планшета
BrightSpotДата: Суббота, 20 Августа 2011, 21:57 | Сообщение # 11
заслуженный участник
Сейчас нет на сайте
Quote (SalahAdDin)
Попробуй научиться готовить без продуктов, или без посуды и ты поймешь о чем я.

если тема перешла на готовку пищи то разница только в том учится готовить при помощи рецептов(та же справка) или, получая опыт, творить на свое усмотрение!
Quote (SalahAdDin)
К слову, ты очень переоцениваешь себя
Может ты и прав, но я все еще даже половину справки не прочитал и при всем при этом мне не составит труда написать основу под любой жанр игры...



Более мощный компьютер глючит быстрее и точнее.
SalahAdDinДата: Воскресенье, 21 Августа 2011, 01:28 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
Quote (BrightSpot)
творить на свое усмотрение!

Например селедку в шоколаде, м? smile
Quote (BrightSpot)
Может ты и прав, но я все еще даже половину справки не прочитал и при всем при этом мне не составит труда написать основу под любой жанр игры...

А я и не говорю что сам вызубрил ее от и до. Просто перед тем (или после того) как что-то написать, я себя проверяю на предмет вот таких глупостей как было оговорено выше. Это очень помогает избежать досадных нелепых ошибок. И не нужно говорить что я не прав. Справка именно для этих целей была написана.


Фотошоп это не сложно. Немного теории, полезной на практике:
Работа с наложением текстур
Рисуем без планшета
ЙакудДата: Воскресенье, 21 Августа 2011, 01:48 | Сообщение # 13
участник
Сейчас нет на сайте
В ГМ нету булевых переменных! Есть только две константы true и false для более читабельного кода. Они эквивалентны единице и нулю соответственно. Т.е. не имеет значения что сравнивать true|1 или false|0
Но меня всегда поражала такая особенность, что если значение в условии >= 0.5 то возвращается всегда true и условие выполняется. Но если это же значение сравнивать с true, то вернется ложный результат и условие перейдет на следующий этап..

вот простое сравнение
Code
if(0.5)
    show_message(1);
else
    show_message(0);

В данном случае выведет сообщение 1.
Code
if(0.5 == true)
    show_message(1)
else
    show_message(0)

А теперь нуль, хотя по идее тут написано практически тоже самое.. wink


"Хороший художник – копирует, гениальный – ворует!" — Pablo Picasso
.blanco 2.0


Сообщение отредактировал Йакуд - Воскресенье, 21 Августа 2011, 01:49
михаДата: Воскресенье, 21 Августа 2011, 13:43 | Сообщение # 14
почти ветеран
Сейчас нет на сайте
SalahAdDin, ЛС.
BrightSpot, Спасибо за поддержку.
SaiteiДата: Воскресенье, 21 Августа 2011, 13:52 | Сообщение # 15
старожил
Сейчас нет на сайте
SalahAdDin, каждый учится как хочет.

Сообщение отредактировал Arz - Воскресенье, 21 Августа 2011, 13:52
SalahAdDinДата: Воскресенье, 21 Августа 2011, 14:58 | Сообщение # 16
постоянный участник
Сейчас нет на сайте
Quote (Йакуд)
В ГМ нету булевых переменных! Есть только две константы true и false для более читабельного кода. Они эквивалентны единице и нулю соответственно. Т.е. не имеет значения что сравнивать true|1 или false|0
Но меня всегда поражала такая особенность, что если значение в условии >= 0.5 то возвращается всегда true и условие выполняется. Но если это же значение сравнивать с true, то вернется ложный результат и условие перейдет на следующий этап..

Булевые переменные в гм есть. Точнее да, есть две константы, которые играют роль булевых, и для этого они собственно и присутствуют. Функция выше не может возвращать никаких значений кроме ложь или истина (ноль или единица, без разницы), и уж тем более дробных. А оператор отрицания как ты применишь к дробным? м...? Он может быть примерен только к булевым, то есть ты противоречишь сам себе. А константами это организовано потому, что бы вот такие нубы не пытались вместо сравнения использовать присваивание и ломать и без того хрупкий код в котором они ни бум-бум.
Quote (Arz)
SalahAdDin, каждый учится как хочет.

Нет, каждый учится так как позволяют мозги. Если мозги не позволяют учиться нормально, то закономерно прикрыть глупость хамством, чтобы не выглядеть совсем идиотом, что прекрасно демонстрирует мне в лс Миха.


Фотошоп это не сложно. Немного теории, полезной на практике:
Работа с наложением текстур
Рисуем без планшета


Сообщение отредактировал SalahAdDin - Воскресенье, 21 Августа 2011, 14:59
ApatiДата: Понедельник, 22 Августа 2011, 00:11 | Сообщение # 17
заслуженный участник
Сейчас нет на сайте
Quote (Йакуд)
Но меня всегда поражала такая особенность, что если значение в условии >= 0.5 то возвращается всегда true и условие выполняется. Но если это же значение сравнивать с true, то вернется ложный результат и условие перейдет на следующий этап..

Ты же сам сказал, что true - это константа равная единице. Следовательно код
Code
if(0.5 == true)  
     show_message(1)  
  else  
     show_message(0)

будет идентичен
Code
if(0.5 == 1)  
     show_message(1)  
  else  
     show_message(0)

а 0,5 не равно 1, вот и не выполняется условие
server-doom3Дата: Понедельник, 22 Августа 2011, 00:36 | Сообщение # 18
001 Worker
Сейчас нет на сайте
Beavisxxi, слушайте, рекомендую читать туторы!


http://gcup.ru/forum/13-17607-1#289394
SalahAdDinДата: Понедельник, 22 Августа 2011, 08:52 | Сообщение # 19
постоянный участник
Сейчас нет на сайте
Code
if(0.5 == 1)   
      show_message(1)   
   else   
      show_message(0)

С точки зрения логики это вообще идиотизм. Как можно допустить что выражение (в данном случае это 0.5, что по сути даже не есть выражением) ложно или истинно не имея условия? Значение само по себе просто есть, оно в принципе не может быть ложно или истинно. Неужели какой нибудь язык даст тебе ЭТО скомпилировать? Дробь должна быть результатом выполнения функции. Если результат 0.5 - вернуть истину, иначе - ложь. Так и только так твои дробные будут работать как нужно. Это настолько элементарно, что даже смешно.


Фотошоп это не сложно. Немного теории, полезной на практике:
Работа с наложением текстур
Рисуем без планшета
LunarPixelДата: Понедельник, 22 Августа 2011, 09:23 | Сообщение # 20
старожил
Сейчас нет на сайте
Мда.. Развели тут дискуссии... smile

SalahAdDin, GM спокойно даст это скомпилировать, т.к. все числа в подобных условиях воспринимаются как true или false. Но если использовать эти числа в выражениях, то они приобретают свои истинные свойства. smile
Т.е. если сравнивать с чем то 0.5, то он будет числом, а если просто указать в выражении 0.5, то оно будет true. Так же выражение !0.5 будет означать "Не истинно".

SalahAdDin, Какая тебе разница кто как учится?! Так хочется по умничать что ли!? smile


  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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