|
02.07.2010, 12:45
|
#916
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
вроде как возращает нормально с столкнувшейся плоскостью. если CollisionNY=-1 это значит что плоскость направлена вниз, тоесть игрок скорее всего стукнулся в неё головой.
|
(Offline)
|
|
02.07.2010, 16:37
|
#917
|
Оператор ЭВМ
Регистрация: 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
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Отвязать
Проскейлить
Привязать
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.07.2010, 17:01
|
#919
|
Дэвелопер
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений (для 1,985 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
И в следующий раз хотя бы компилируй код перед тем как ложить его на форум:
sph = CreateSphere(8, player)
PositionEntity shp,0,1,0
|
Намекает на то что ты и не пытался его исправить, а просто выложил на форум чтобы кто-то за тебя сделал
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.07.2010, 17:28
|
#920
|
Гигант индустрии
Регистрация: 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 за это полезное сообщение:
|
|
02.07.2010, 17:55
|
#921
|
Оператор ЭВМ
Регистрация: 02.07.2010
Сообщений: 30
Написано 0 полезных сообщений (для 7 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Сообщение от Reks888
И в следующий раз хотя бы компилируй код перед тем как ложить его на форум:
Намекает на то что ты и не пытался его исправить, а просто выложил на форум чтобы кто-то за тебя сделал
|
Это я когда сюда выкладывал уменьшал код и увидел что написал переменную shp (shape) вместо sph (sphere). Вот и пытался исправить...
Могу весь код для доказательства выложить
Igorian, А как привязывать, отвязывать объекты? Я в этом новичок
|
(Offline)
|
|
02.07.2010, 18:05
|
#922
|
Элита
Регистрация: 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)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.07.2010, 18:49
|
#923
|
ПроЭктировщик
Регистрация: 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
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Неправильная логика
гравитация должна действовать постоянно, а вот прыжок разрешать только когда стоишь на полу
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.07.2010, 19:19
|
#925
|
ПроЭктировщик
Регистрация: 11.11.2009
Сообщений: 172
Написано 17 полезных сообщений (для 34 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Сообщение от tormoz
Неправильная логика
гравитация должна действовать постоянно, а вот прыжок разрешать только когда стоишь на полу
|
Даже если так, но если условие не выполняется, то Gravity должно возращать 1 иначе например наступил на что нибудь горизонтальное и начал куда нибудь падать... нажал пробел(или что то еще) и невероятно подлетел вверх.
|
(Offline)
|
|
02.07.2010, 19:43
|
#926
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
ещё раз, если CollisionNY<=0значит или плоскость вертикальная, или она развернута вниз головой, тоесть находится над игроком. в этом случае гравитация должна работать.
Лучшый вариан- держать переменную для ускорения от гравитации, и если CollisionNY>0 значит юзер стоит на плоскости. и переменную гравитации обнуляем. но каждый цикл всёравно добавляем к этой переменной силу гравитации.
если CollisionNY>0 тогда прыгать можно.
|
(Offline)
|
|
03.07.2010, 20:33
|
#927
|
Оператор ЭВМ
Регистрация: 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
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
создать ещё один такой мешь, увеличить его, сделать Flip, покрасить в чёрный цвет и немного прозрачности)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
03.07.2010, 21:24
|
#929
|
Оператор ЭВМ
Регистрация: 02.07.2010
Сообщений: 30
Написано 0 полезных сообщений (для 7 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Сообщение от Dream
создать ещё один такой мешь, увеличить его, сделать Flip, покрасить в чёрный цвет и немного прозрачности)
|
Хы от радости нажал "Спасибо" )
Яж привёл выше тотже код! Получается что цвет фигуры, которая поверх главной фигуры, накладывается на цвет главной фигуры. И жёлтый уже не жёлый, а жёлто-красный.
Вопрос не решен! )
|
(Offline)
|
|
03.07.2010, 21:36
|
#930
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
сделать флип! читай внимательно
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:12.
|