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

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

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

Ответ
 
Опции темы
Старый 02.07.2010, 12:45   #916
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: Вопрос-Ответ (для новичков)

CollisionN*
вроде как возращает нормально с столкнувшейся плоскостью. если CollisionNY=-1 это значит что плоскость направлена вниз, тоесть игрок скорее всего стукнулся в неё головой.
(Offline)
 
Ответить с цитированием
Старый 02.07.2010, 16:37   #917
Kolobok
Оператор ЭВМ
 
Аватар для Kolobok
 
Регистрация: 02.07.2010
Сообщений: 30
Написано 0 полезных сообщений
(для 7 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Я написал код, в котором один объект привязывается к другому и третий к другому... Но если я буду изменять размеры ScaleEntity, то изменяются размеры всех объектов привязанных к объекту, вместо самого объекта...

А как изменить размеры Player`a "нормально"?
Помогите плиз Вот код:
Graphics3D 640, 480, 32, 2
SetBuffer BackBuffer()

Const TypePlayer=1,TypeWall=2

light = CreateLight()
TurnEntity light,45,60,0

wall = CreateCube()
PositionEntity wall, 0, 0, 5
EntityColor wall,255,0,0
EntityType wall,TypeWall

player = CreateCube()
EntityColor player,0,255,0
EntityType player,TypePlayer
ScaleEntity player,2,1,1

sph = CreateSphere(8, player)
PositionEntity sph,0,1,0
EntityColor sph,0,100,0

cam = CreateCamera(sph)
PositionEntity cam,0,2,-7

Collisions TypePlayer,TypeWall,2,3

Repeat

	If KeyDown(17) MoveEntity player,0,0,.1
	If KeyDown(30) TurnEntity player,0,2,0
	If KeyDown(31) MoveEntity player,0,0,-.1
	If KeyDown(32) TurnEntity player,0,-2,0

UpdateWorld
RenderWorld

Flip

Until KeyHit(1)
End

Последний раз редактировалось Kolobok, 02.07.2010 в 18:12.
(Offline)
 
Ответить с цитированием
Старый 02.07.2010, 16:53   #918
is.SarCasm
Бывалый
 
Аватар для is.SarCasm
 
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений
(для 428 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Отвязать
Проскейлить
Привязать
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Kolobok (02.07.2010)
Старый 02.07.2010, 17:01   #919
Reks888
Дэвелопер
 
Аватар для Reks888
 
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений
(для 1,985 пользователей)
Ответ: Вопрос-Ответ (для новичков)

И в следующий раз хотя бы компилируй код перед тем как ложить его на форум:
sph = CreateSphere(8, player)
PositionEntity shp,0,1,0
Намекает на то что ты и не пытался его исправить, а просто выложил на форум чтобы кто-то за тебя сделал
__________________
>type C:\MyProj\*
www.sypiac.weebly.com
>
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
is.SarCasm (02.07.2010)
Старый 02.07.2010, 17:28   #920
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Сообщение от EaNub Посмотреть сообщение
не помогло
А что ваще должно происходить ?
ИМХО ты недопонимаешь логики
Если у тебя гравити - это флаг запрета прыжка, то ты непрально ваще логику построил
надо как-то так:

Gravity=1; Запрещаем прыжок

For i=1 To CountCollisions(player)
If CollisionEntity( player,i )
cy#=CollisionNY( player,i)
If cy#>0
Gravity=0; Контакт с полом есть, разрешаем прыжок
EndIf
EndIf
Next
__________________
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо tormoz за это полезное сообщение:
Dream (02.07.2010), is.SarCasm (02.07.2010), RlexGm (02.07.2010), Черный крыс (02.07.2010)
Старый 02.07.2010, 17:55   #921
Kolobok
Оператор ЭВМ
 
Аватар для Kolobok
 
Регистрация: 02.07.2010
Сообщений: 30
Написано 0 полезных сообщений
(для 7 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Сообщение от Reks888 Посмотреть сообщение
И в следующий раз хотя бы компилируй код перед тем как ложить его на форум:
Намекает на то что ты и не пытался его исправить, а просто выложил на форум чтобы кто-то за тебя сделал
Это я когда сюда выкладывал уменьшал код и увидел что написал переменную shp (shape) вместо sph (sphere). Вот и пытался исправить...
Могу весь код для доказательства выложить

Igorian, А как привязывать, отвязывать объекты? Я в этом новичок
(Offline)
 
Ответить с цитированием
Старый 02.07.2010, 18:05   #922
St_AnGer
Элита
 
Аватар для St_AnGer
 
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений
(для 2,828 пользователей)
Ответ: Вопрос-Ответ (для новичков)

EntityParent entity, parent на сколько я помню позволяет привязывать и отвязывать объекты. Читай справку по команде, Kolobok

ЗЫ: есть ещё вроде бы команда ParentEntity, помоему позволяет узнать родителя определённого объекта.
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.

Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2


Скачать Doom 2D: Remake v0.3.8a
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Kolobok (02.07.2010)
Старый 02.07.2010, 18:49   #923
RlexGm
ПроЭктировщик
 
Регистрация: 11.11.2009
Сообщений: 172
Написано 17 полезных сообщений
(для 34 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Сообщение от tormoz Посмотреть сообщение
А что ваще должно происходить ?
ИМХО ты недопонимаешь логики
Если у тебя гравити - это флаг запрета прыжка, то ты непрально ваще логику построил
надо как-то так:

Gravity=1; Запрещаем прыжок

For i=1 To CountCollisions(player)
If CollisionEntity( player,i )
cy#=CollisionNY( player,i)
If cy#>0
Gravity=0; Контакт с полом есть, разрешаем прыжок
EndIf
EndIf
Next
впринцепи то всё то, но у меня не только нужно разрешить прыжок, дело в том что у меня гравитация с ускорением и поэтому переменая которая вписывается в TranslateEntity при Gravity=0 равна 0, нужно чтобы при прыжке срабатывала гравитация,а при
If cy#<=0 Or CountCollisions(player)=False
Gravity=1
EndIf
или при использовании Else гравитация включается только когда достигаешь потолка
(Offline)
 
Ответить с цитированием
Старый 02.07.2010, 19:08   #924
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Неправильная логика
гравитация должна действовать постоянно, а вот прыжок разрешать только когда стоишь на полу
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
is.SarCasm (02.07.2010)
Старый 02.07.2010, 19:19   #925
RlexGm
ПроЭктировщик
 
Регистрация: 11.11.2009
Сообщений: 172
Написано 17 полезных сообщений
(для 34 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Сообщение от tormoz Посмотреть сообщение
Неправильная логика
гравитация должна действовать постоянно, а вот прыжок разрешать только когда стоишь на полу
Даже если так, но если условие не выполняется, то Gravity должно возращать 1 иначе например наступил на что нибудь горизонтальное и начал куда нибудь падать... нажал пробел(или что то еще) и невероятно подлетел вверх.
(Offline)
 
Ответить с цитированием
Старый 02.07.2010, 19:43   #926
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: Вопрос-Ответ (для новичков)

ещё раз, если CollisionNY<=0значит или плоскость вертикальная, или она развернута вниз головой, тоесть находится над игроком. в этом случае гравитация должна работать.
Лучшый вариан- держать переменную для ускорения от гравитации, и если CollisionNY>0 значит юзер стоит на плоскости. и переменную гравитации обнуляем. но каждый цикл всёравно добавляем к этой переменной силу гравитации.
если CollisionNY>0 тогда прыгать можно.
(Offline)
 
Ответить с цитированием
Старый 03.07.2010, 20:33   #927
Kolobok
Оператор ЭВМ
 
Аватар для Kolobok
 
Регистрация: 02.07.2010
Сообщений: 30
Написано 0 полезных сообщений
(для 7 пользователей)
Ответ: Вопрос-Ответ (для новичков)

А как можно сделать эффект обводки фиуры?

Я нашёл такой способ, но он не очень хороший... Цвет фигуры меняется...
shape = CreateSphere()
EntityColor shape,255,255,0

border = CreateSphere(8,shape)
EntityAlpha border,.3
EntityColor border,255,0,0
ScaleEntity border,1.1,1.1,1.1
Чтож остаётся только спрайт прилепить?

Вот как на картинке хочу )
Изображения
 
(Offline)
 
Ответить с цитированием
Старый 03.07.2010, 20:37   #928
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: Вопрос-Ответ (для новичков)

создать ещё один такой мешь, увеличить его, сделать Flip, покрасить в чёрный цвет и немного прозрачности)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Kolobok (03.07.2010)
Старый 03.07.2010, 21:24   #929
Kolobok
Оператор ЭВМ
 
Аватар для Kolobok
 
Регистрация: 02.07.2010
Сообщений: 30
Написано 0 полезных сообщений
(для 7 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Сообщение от Dream Посмотреть сообщение
создать ещё один такой мешь, увеличить его, сделать Flip, покрасить в чёрный цвет и немного прозрачности)
Хы от радости нажал "Спасибо" )
Яж привёл выше тотже код! Получается что цвет фигуры, которая поверх главной фигуры, накладывается на цвет главной фигуры. И жёлтый уже не жёлый, а жёлто-красный.

Вопрос не решен! )
(Offline)
 
Ответить с цитированием
Старый 03.07.2010, 21:36   #930
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: Вопрос-Ответ (для новичков)

сделать флип! читай внимательно
(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, время: 13:12.


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