Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 06.01.2010, 23:39   #376
KingMaks
Знающий
 
Аватар для KingMaks
 
Регистрация: 26.11.2009
Сообщений: 313
Написано 35 полезных сообщений
(для 95 пользователей)
Ответ: Вопрос-Ответ (для новичков)

ВОПРОС:
точнее пара вопросов

1.Есть ли команда типа EntityCollided(player,typesolid) - если игрок столкнулся с твердым телом.Только примерно вот так:
EntityCollidedY(player,typesolid) чтобы проверяло столкновение игрока с твердым телом по оси Y ? Если нету то как ето осущиствить?

2.Есть ли команда которая определяет высоту?Тоесть
допустим: если высота ступеньки 0.1 то запрыгнуть на ету ступеньку.
__________________
StimuL
Maks
(Offline)
 
Ответить с цитированием
Старый 06.01.2010, 23:49   #377
is.SarCasm
Бывалый
 
Аватар для is.SarCasm
 
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений
(для 428 пользователей)
Ответ: Вопрос-Ответ (для новичков)

KingMaks
2) EntityY(entity) - узнает положение объекта по оси Y.
(Offline)
 
Ответить с цитированием
Старый 06.01.2010, 23:56   #378
KingMaks
Знающий
 
Аватар для KingMaks
 
Регистрация: 26.11.2009
Сообщений: 313
Написано 35 полезных сообщений
(для 95 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Сообщение от Igorian Посмотреть сообщение
2) EntityY(entity) - узнает положение объекта по оси Y.
положение обьекта. а мне нужно высоту обьекта узнать
__________________
StimuL
Maks
(Offline)
 
Ответить с цитированием
Старый 07.01.2010, 00:09   #379
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Эээ KingMaks ты встань на место блица - откуда ему то знать какая там высота у объекта?? Может это вообще шар...
но можно узнать скейл объекта по оси Y, но это через getMatElement(), думаю если товарищ H@non будет здесь, он тебе поможет
(Offline)
 
Ответить с цитированием
Старый 07.01.2010, 00:36   #380
KingMaks
Знающий
 
Аватар для KingMaks
 
Регистрация: 26.11.2009
Сообщений: 313
Написано 35 полезных сообщений
(для 95 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Павел думаю тогда блиц хотябы должен знать по какой оси происходит столкновение.Тут у меня небольшая гравитация имееться:

If jump = 0 Then 
If KeyDown(57) Then gravity = 0.1 : gravity2 = 0.03:jump = 1
End If
If Not EntityCollided(player,typesolid) Then jump = 1
If jump = 1 Then gravity = gravity + gravity2: gravity2 =gravity2 - 0.002:jump = 1
If EntityCollided (player,typesolid) Then gravity = 0:gravity2 = 0:jump = 0
TranslateEntity player,0,gravity/4,0
End If
как можно заметить при столкновении с любым твердым обьектом
гравитация = 0, тоесть даже если игрок врезаеться в стену гравитация = 0.
А мне нужно только чтобы если игрок сталкиваеться с полом тогда гравитация = 0. А пристолкновении со стенкой игрок скользит вниз под действием гравитации.
__________________
StimuL
Maks
(Offline)
 
Ответить с цитированием
Старый 07.01.2010, 08:25   #381
Hurrit
Мастер
 
Аватар для Hurrit
 
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений
(для 2,207 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Создай два разных типа: тип стены и тип пола. Если игрок соприкасается с полом, то отключить гравитацию, в другом случае включить.
(Offline)
 
Ответить с цитированием
Старый 07.01.2010, 11:45   #382
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Ответ: Вопрос-Ответ (для новичков)

1) Использовать нормаль от столкновения. Примерно так :
InGround = false
entCol = EntityCollided(ent, ColType)
if entCol <> 0 then
      For n = 1 to CountCollisions(ent)
            if CollisionNY(ent, n) > 0.5 Then
                   InGround = True
                   Exit
            EndIf
      Next
EndIf
If InGround = true Then
       перемещение
EndIf
2)Можно узнать размер меша через команду MeshHeight(), но если он будет отскейлен командой ScaleEntity, то тогда придется умножать это значение на скейл, чтобы получить точные значения.
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо H@NON за это полезное сообщение:
Harter (07.01.2010), is.SarCasm (07.01.2010), KingMaks (07.01.2010), Reizel (07.01.2010)
Старый 07.01.2010, 13:48   #383
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Блин, сколько не читаю посты H@non'а, все нахожу новые команды
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Harter (07.01.2010)
Старый 07.01.2010, 13:48   #384
RlexGm
ПроЭктировщик
 
Регистрация: 11.11.2009
Сообщений: 172
Написано 17 полезных сообщений
(для 34 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Спасибо, заработало =)
Вот только еще очередная проблебка...
он меняет разрешение только что при условии: предыдущее разрешение было 800x600 ... В принцепи меня это устраивает, у меня cs1.6. тоже самое,я написал код чтоб было опять 800x600
If XERK%=0 or YERK=0
XERK%=800
YERK%=600
EndIf
Но это надо же писать в цикле, а определение разрешения должно стоять
перед Graphics3D , помогите!Можно ли это реализовать?
(Offline)
 
Ответить с цитированием
Старый 07.01.2010, 13:56   #385
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Что то я не понял нифига
(Offline)
 
Ответить с цитированием
Старый 07.01.2010, 14:21   #386
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Ответ: Вопрос-Ответ (для новичков)

при смене разрешения вся графика рушиться, поэтому тебе пришлось бы перезагружать все заного. Можно обойтись GoTo и при выборе разрешения переходить по метке, но лучше оставь пока эту тему, а то запутаешься.
(Offline)
 
Ответить с цитированием
Старый 07.01.2010, 17:01   #387
KingMaks
Знающий
 
Аватар для KingMaks
 
Регистрация: 26.11.2009
Сообщений: 313
Написано 35 полезных сообщений
(для 95 пользователей)
Ответ: Вопрос-Ответ (для новичков)

H@NON
InGround = 0
EntCol = EntityCollided(player,typesolid)
If EntCol <> 0 Then
  For n = 1 To CountCollisions(player)
    If CollisionNX(player,n) > 0.5 Then
      InGround = 1
      Exit
    End If
  Next
End If
В етом коде при столкновении с землей InGround серовно равен нулю
а нужна единица
__________________
StimuL
Maks
(Offline)
 
Ответить с цитированием
Старый 07.01.2010, 17:13   #388
KingMaks
Знающий
 
Аватар для KingMaks
 
Регистрация: 26.11.2009
Сообщений: 313
Написано 35 полезных сообщений
(для 95 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Ох вот я протупил CollisionNX а у тебя CollisionNY.
Спасиба вопщем.Выручил мою гравитацию
__________________
StimuL
Maks
(Offline)
 
Ответить с цитированием
Старый 07.01.2010, 19:28   #389
shyrikkk
Нуждающийся
 
Регистрация: 11.12.2009
Сообщений: 77
Написано 2 полезных сообщений
(для 2 пользователей)
Плохо ОЧЕНЬ МОЩНЫЙ ВОПРОС !!!!!!!!!!!!!!!!!!!!!

Люди кто знает подскажите пожалусто !!!
Что большет ест ресурсов с текстурами спрайт (CreateSprite() ) или
3D обьект с текстурами (толщина обьекта равна толщена спрайта )
площади обоих одинаковы

кто больше есть ресурсы ?????????????????
(Offline)
 
Ответить с цитированием
Старый 07.01.2010, 19:48   #390
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Ответ: Вопрос-Ответ (для новичков)

дело не в толщине, а в количестве полигонов, да и альфабленд тоже играет роль. Самый эффективный способ замерить время рендера тысячи спрайтов, а потом замерить время рендера тысячи твоих объектов. Тебе никто не сможет сказать что больше есть ресурсы, проверяй сам.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пожалуйста дайте ответ на несколько вопросов Kuzma 3D-программирование 8 06.10.2009 19:38
Предложение к теме "вопрос-ответ" jimon Наш форум 1 27.02.2009 19:26
Мой ответ Жеке! alcosholik Болтовня 5 19.11.2005 16:41


Часовой пояс GMT +4, время: 19:35.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com