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

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

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

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 11.11.2006, 01:33   #1
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
что бы все упало)

Всем привет!
как сделать что бы обекты падали)
ну один обект так
const G#=1;
TranslateEntity player,0,-G#,0;
а как чтобы весь тип
Type TTree
...
End Type
Function CreateTree.TTree(...)
...
End Function
global objekt.TTree
попадал??

П.С. простите если глупый вопрос
(Offline)
 
Ответить с цитированием
Старый 11.11.2006, 01:37   #2
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Re: что бы все упало)

For objekt.TTree = Each TTree
...
Next
(Offline)
 
Ответить с цитированием
Старый 11.11.2006, 01:53   #3
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Re: что бы все упало)

Horror Никогда не бойся спрашивать, считаешь его глупым или нет, неважно, важно то что ты хочешь получить ответ, вот ты его и задаёшь!

Относительно вопроса, alcoSHoLiK о тветил так же кратко как и был задан вопрос. Твой вопрос звучит так: Как работать с типами.
Вот и объясню:
Создаёшь тип:
Type TTree
Field Mesh
И ещё нужных значений.
End Type

Далее, в тип вставляешь объекты:
Если все деревья имеют один Мэшь, то загрузи этот объект отдельно, а вставляя в тип объект копируй этот мэш.
tree=LoadMesh("...")

Вот это создасть 20 деревьев в рандомных местах.
For ct=1 to 20
Obj=CopyEntity(tree)
PositionEntity Obj,Rnd(-100,100),Rnd(-10,10),Rnd(-100,100)
t.TTree=New TTree
t\Mesh=Obj
Next

Далее что-бы применить для всего типа что-либо делаешь:
For t.TTree=Each TTree
TranslateEntity t\Mesh,0,-G,0
Next

Да и если я "неправельно" ответил на твой вопрос, то это лишь потому что задал ты вопрос не корректно, и код сделал не соответствующий вопросу. И что-то функция у тебя страненькая =) с Точечкой =)
(Offline)
 
Ответить с цитированием
Старый 11.11.2006, 19:05   #4
c0mrad
Разработчик
 
Регистрация: 08.06.2006
Сообщений: 412
Написано 13 полезных сообщений
(для 4 пользователей)
Re: что бы все упало)

Horror Никогда не бойся спрашивать, считаешь его глупым или нет, неважно, важно то что ты хочешь получить ответ, вот ты его и задаёшь!

Нифига себе загнул,"жызнена" + 1
(Offline)
 
Ответить с цитированием
Старый 11.11.2006, 19:52   #5
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
Re: что бы все упало)

О всем спасибо! все работает)
только колизию ещебы добавить!
Gobal terrain;
Const TERRT=2;
terrain=...;
EntityType terrain,TERRT;
For t.TTree=Each TTree
Collisions t\Mesh,TERRT,2,3;

Next
MoKa а функция не странная просто я делаю не чтоб деревья создавались в рандомном месте а чтобы где мышкой кликнул там и появилось
и вообщем я ето уже сделал +сохранение позиций и загрузку
,а падение мне нужно было чтоб все появлялось чучуть повыше и начинало падать на ланшафт и колизились с ним - только колизия и осталась)
Что не так в коде повыше?Если все то помогите )
(Offline)
 
Ответить с цитированием
Старый 12.11.2006, 01:30   #6
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: что бы все упало)

Collisions 1,2,2,3
t=loadterrain......
entitytype t,2

if mousehit(1)
t.ttree=new ttree
t\mesh=copyentity....
entitytype t\mesh,1
entityradius t\mesh,(тут значение радиуса)
endif


. IMHO можно и без коллизий обойтись.
В данном случае пересчитать все вручную не так уж и сложно.

For t.ttree=each ttree
if entityy(t\mesh)>terrainy(t,entityx(t\mesh),0,entit yz(t\mesh)) then translateentity t\mesh,0,-1,0
next
. если опускать деревья так, то можно и без коллизий обойтись
(Offline)
 
Ответить с цитированием
Старый 12.11.2006, 21:30   #7
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
Re: что бы все упало)

HolyDel спасибо все теперь хорошо)
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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