forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   что бы все упало) (http://forum.boolean.name/showthread.php?t=1882)

Horror 11.11.2006 01:33

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

П.С. простите если глупый вопрос

alcoSHoLiK 11.11.2006 01:37

Re: что бы все упало)
 
For objekt.TTree = Each TTree
...
Next

moka 11.11.2006 01:53

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

Да и если я "неправельно" ответил на твой вопрос, то это лишь потому что задал ты вопрос не корректно, и код сделал не соответствующий вопросу. И что-то функция у тебя страненькая =) с Точечкой =) ;)

c0mrad 11.11.2006 19:05

Re: что бы все упало)
 
Цитата:

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

Нифига себе загнул,"жызнена" + 1

Horror 11.11.2006 19:52

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

Next
MoKa а функция не странная просто я делаю не чтоб деревья создавались в рандомном месте а чтобы где мышкой кликнул там и появилось
и вообщем я ето уже сделал +сохранение позиций и загрузку
,а падение мне нужно было чтоб все появлялось чучуть повыше и начинало падать на ланшафт и колизились с ним - только колизия и осталась)
Что не так в коде повыше?Если все то помогите )

HolyDel 12.11.2006 01:30

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
. если опускать деревья так, то можно и без коллизий обойтись

Horror 12.11.2006 21:30

Re: что бы все упало)
 
HolyDel спасибо все теперь хорошо)


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot