 |
29.01.2010, 16:14
|
#586
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
мм предложу свой вариант... Конечно драть будет больше чем спрайт, но тем не менее
1) Создаем цилиндр.
2) Перекрашиваем его вертексы следующим образом: у ствола пушкм потемнее, а на конце луча - посветлее (VertexColor в помощь)
3) Пикаем линией в направленнии пушки
4) Узнаем координаты дула, и тыкнутые координаты
5) Позиционируем цилинлр в координаты между дулом и пушкой
6) Поворачиваем цилиндр по векторам (VectorPitch and VectorYaw)
7) Скалим цилиндр, ставим альфу от .3 до .7)
 пишем тип АльфаЕнтити, в котором есть поля Entity and Alpha#
9) Делаем функцию обновления элементов типа AlphaEntity
Это чтоб можно было бы какой либо обэкт плавно убрать со сцены, в данном случае луч лазера
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Reizel за это полезное сообщение:
|
|
29.01.2010, 18:53
|
#587
|
Бывалый
Регистрация: 16.09.2009
Адрес: Sun system
Сообщений: 831
Написано 442 полезных сообщений (для 1,836 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
А почему нельзя просто создать крестообразный "брус" при помощи CreateSurface, припарентить его к пушке и показывать/прятать при надобности?
Вертексы конца луча можно спокойно ставить в координаты попадания (CameraPick как и было предложено) и красить в какие заблагорассудится цвета (VertexColor).
А чтобы сюрфейсы было видно с двух сторон:
Возни меньше чем со спрайтами и цилиндрами, имхо.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо FireOwl за это полезное сообщение:
|
|
30.01.2010, 00:09
|
#588
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
блин опять что то с колизиями. То они работают, то нет.

Graphics3D 1280,1024,32,2
SetBuffer BackBuffer()
; collisions
Const zem=1,tnk=2 ,snr=3
; graviti
Global graviti = -0.98
zemla = CreatePlane()
PositionEntity zemla,0,-30,0
EntityType zemla,zem
Include "TankInfo.bb"
Global cam
cam = CreateCamera()
Type PlayerTank
Field Entity
Field speed#
Field bulletDamage#
Field Damage#
Field Gamep#
Field benzin
Field snrd
Field bull
End Type
CreatePlayerTank(6)
Collisions zem,tnk,2,2
Repeat
UpdatePlayerTank()
RenderWorld
UpdateWorld
Flip(1)
Until KeyHit(1)
End
Function CreatePlayerTank(tank)
p.PlayerTank = New PlayerTank
p\Entity =CreateCube()
p\speed# = speed#(tank)
p\bulletDamage# = bulletDamage#(tank)
p\Damage# = damage#(tank)
p\gamep# = gamep(tank)
p\benzin = benzin(tank)
p\snrd = snrd(tank)
p\bull = bull(tank)
RotateEntity p\entity,270,0,0
EntityType p\entity,tnk
EntityColor p\entity,255,0,0
End Function
Function UpdatePlayerTank()
For p.PlayerTank = Each PlayerTank
If KeyDown(17) MoveEntity p\entity,0,-p\speed#,0
If KeyDown(31) MoveEntity p\entity,0,(p\speed#/4),0
If KeyDown (30) TurnEntity p\entity,0,0,-p\gamep#
If KeyDown (32) TurnEntity p\entity,0,0,p\gamep#
PositionEntity cam,EntityX(p\entity),EntityY(p\entity)+5,EntityZ( p\entity)-7
TranslateEntity p\entity,0,graviti,0
Next
End Function
|
Последний раз редактировалось is.SarCasm, 30.01.2010 в 09:42.
|
(Offline)
|
|
30.01.2010, 09:42
|
#589
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
В чем проблэм? Я ж сравнивал с примерами... Я сначала задал константы типов:
затем создал обьекты и дал им типы:
zemla = CreatePlane()
PositionEntity zemla,0,-30,0
EntityType zemla,zem
p.PlayerTank = New PlayerTank
p\Entity =CreateCube()
EntityType p\entity,tnk
|
ну и колизии:
|
(Offline)
|
|
30.01.2010, 14:43
|
#590
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
ЭЛЛИПСОИД - ПОЛИГОН, а у тебя zem соллизится с tnk! надо наоборот!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
30.01.2010, 15:17
|
#591
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
не знал... спс буду знать. (а я то думаю че то работает то не работает  )
|
(Offline)
|
|
31.01.2010, 09:54
|
#592
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Можно примерчик роботы с банками? Как и где их применяют?
|
(Offline)
|
|
31.01.2010, 10:11
|
#593
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Их применяют для закатывания огурцов
|
(Offline)
|
|
Эти 5 пользователя(ей) сказали Спасибо Reizel за это полезное сообщение:
|
|
31.01.2010, 11:04
|
#594
|
Дэвелопер
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений (для 1,985 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Сообщение от Павел
Их применяют для закатывания огурцов
|
А в массивы огурцы не закатывают, поэтому скорость доступа к ним выше => юзай массивы 
ЗЫ игорь, я зашел в сеть всего на 30 минут позже тебя, а тебя уже нет. 
|
(Offline)
|
|
31.01.2010, 13:14
|
#595
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Как проверять массив на наличие трех и выше в подряд идущих картинок? 
|
(Offline)
|
|
31.01.2010, 13:50
|
#596
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
если массив не забит всякой хренью, то:
for K=0 to ArrayCount
if Array(K)<>0 then
;Здесь картинка?
endif
next
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
01.02.2010, 03:59
|
#597
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Павел, я твой код не стал проверять ибо мне кажется он не будет работать потому что я не много не правильно вопрос написал.
У меня в массиве числа от 1 до 5 и по этим цифрам рисуется карта и вот мне надо проверить массив и так сказать найти 3 и выше одинаковых цифры идущих в ширину или в высоту так сказать с любой позиции массива (сначала, из середины, в конце), но как это сделать я не знаю ибо с массивами пока что плохо дружу...
|
(Offline)
|
|
01.02.2010, 04:33
|
#598
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,743
Написано 5,461 полезных сообщений (для 15,676 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Скорость доступа к массивам выше, зато банки целиком передавать быстрее
Как проверять массив на наличие трех и выше в подряд идущих картинок?
|
Проверять каждую ячейку: если в ячейках с координатами + и - 1 такая же картинка, то БИНГО! нет - переходим дальше.
Так же со строками, можно и по диагонали.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
01.02.2010, 07:26
|
#599
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
А можно кодом? Выше я написал, что с массивами плохо дружу, а иначе сам бы уже догадался... 
|
(Offline)
|
|
01.02.2010, 20:57
|
#600
|
Нуждающийся
Регистрация: 16.01.2010
Сообщений: 68
Написано 4 полезных сообщений (для 5 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Вот функция :
Function CreateWorld(level#)
light=CreateLight()
plane=CreatePlane()
map=LoadMesh(level#)
End Function
В лупе пишу CreateWorld("jumpcity.3ds")
Плейн я вижу, карту - нет...если писать на прямую без функции то все ок....
В чем трабла?
__________________
-Я умею общаться с трудными детьми. Моя мама в подвале держала подпольный детский сад! (С) "Теория большого взрыва"
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:49.
|