Сообщение от MoKa
Приношу извенения, что постю сдесь не совсем по теме, но вот относительно хранения ресурсов, вы используете Паки, можно получить об этом информацию? Нужен ли дополнительный софт, какие приемущества этого видахранения, сложно ли вытянуть ресурсы?
|
Собственно моя тяга к пакерам связана лишь любовью к "изящности" хранения ресурсов - ненавижу огромные кучи файла посоле инсталляции.
Много всяких перепробовал остановился на классическом Терабит Датапакер. В принципе, найти его и получить информацию о нем легко - но все же:
Поддерживает шифрование, пакование в exe и т.п. Работает шустро - темповый каталог можно указывать самому.
Инициализируется легко 3 строчки
PakOutputDir "" ; This can be set anywhere, a good example would be "C:\"
PakInit "Data.Pak", $********, "TEMP", $*; Cut And Paste this from the GUI PakMaker
PakBulkOverWrite = False ; Set this to True when in Development / False when Released
Из доп файлов - только ГУЕвый пакер и длл (нужны только для пака). На файлах ресурсов размером менее 3 мб я не успеваю отследить появление темпа - что, несомненно, позитивно...
Для пущей надежности теоретически возможных свих дальнейших проектов коммерческой направленности попытался развить эту тему -
http://www.boolean.name/showthread.php?t=3129 (Если вдруг все-таки ктото решит сделать "подменяемые ресурсы" - поделитесь сорцами, ок?)
ЗЫ. MoKa, вопрос по превьюхе и данному тобою сорце.
Для начала, как у меня сделано - если выбираем модель, то копируем ее во вторую камеру. ПРименив твой код - у меня масштабируется оригинал... попробую набросать код:

Graphics3D 640,480,16,2
cam=CreateCamera()
cam2=CreateCamera()
PositionEntity cam2,0,-99950,0
CameraViewport cam2,GraphicsWidth()-100,GraphicsHeight()-100,100,100
CameraClsColor cam2,150,150,150
l=CreateLight()
sp =CreateCube()
PositionEntity sp,0,0,20
EntityPickMode sp,2
Repeat
If MouseHit(1)
ent=CameraPick(cam,MouseX(),MouseY())
If ent name$=EntityName(sp)
If showmodel=0 Then name$=EntityName(sp):showmodel=CopyEntity(sp):
Else
If showmodel<>0 Then FreeEntity showmodel:showmodel=0:
EndIf
UpdateWorld
If showmodel=0
CameraProjMode cam2,0
Else
CameraProjMode cam2,1
PositionEntity showmodel,-100,-100000,0
TurnEntity showmodel,0,-1,0
EntityAlpha showmodel,0.2
PointEntity cam2,showmodel
ResizeMesh(showmodel,1,1,1,proporcional=0)
EndIf
RenderWorld tween
Flip
Forever
Function ResizeMesh(Mesh,w#,h#,d#,proporcional=0)
mw#=MeshWidth(Mesh)
mh#=MeshHeight(Mesh)
md#=MeshDepth(Mesh)
Select proporcional
Case 1
ScaleMesh Mesh,mw/w,mw/w,mw/w
Case 2
ScaleMesh Mesh,mh/h,mh/h,mh/h
Case 3
ScaleMesh Mesh,md/d,md/d,md/d
Default
ScaleMesh Mesh,mw/w,mh/h,md/d
End Select
End Function
Вроде должен работать... (блитца под рукой нет - подрехтовал какойто исходник в браузере)
Вопрос к профессионалам - что я делаю не так? =)) Ведь не может же работа с "копиентитированным" обектов влиять на оригинал, так?