D3d_model_addtomodel, стар, но полезен скрипт |
Здравейте ( Вход | Регистрация )
D3d_model_addtomodel, стар, но полезен скрипт |
16:52:24, 21-February-2010, Sunday
Коментар
#1
|
|
Засмян тъпоъгълник :D Група: Администратор Коментари: 1790 Регистриран: 21.07.08 Град: Това е място, населено с много хора. FPS: 60 Потребител № 1116 |
Малко е недовършен.Ако имате проблеми с него, пишете в темата.
Скриптът добавя модел, зареден от файл, към вече съществуващ модел.Това е полезно когато примерно се налага да се съединят два модела - първо се запазва единия под някакво име, после се използва този скрипт. Код //d3d_model_addtomodel(ind,filename,x,y,z);
var ind,file,xxx,yyy,zzz,fileid,str,vid_d3d_funkciq,arg,flagvx; //flagvx - дали е започнат модел полигон по полигон ind=argument0; file=argument1; xxx=argument2; yyy=argument3; zzz=argument4; flagvx=0; arg[10]=""; str=""; vid_d3d_funkciq=""; fileid=file_text_open_read(file); file_text_readln(fileid);//пропуска първите два реда file_text_readln(fileid); while(!file_text_eof(fileid)) { str=file_text_read_string(fileid); vid_d3d_funkciq=string_copy(str,0,string_pos(" ",str)-1); switch(vid_d3d_funkciq) { case "11": str=string_delete(str,1,string_pos(" ",str)); for(jkl=0;jkl<10;jkl+=1) { arg[jkl]=string_copy(str,0,string_pos(" ",str+" ")-1); str=string_delete(str,1,string_pos(" ",str)); } d3d_model_cylinder(ind,real(arg[0])+xxx,real(arg[1])+yyy,real(arg[2])+zzz, real(arg[3])+xxx,real(arg[4])+yyy,real(arg[5])+zzz, real(arg[6]),real(arg[7]),real(arg[8]),real(arg[9]) ); break;//цилиндър case "12": str=string_delete(str,1,string_pos(" ",str)); for(jkl=0;jkl<10;jkl+=1) { arg[jkl]=string_copy(str,0,string_pos(" ",str+" ")-1); str=string_delete(str,1,string_pos(" ",str)); } d3d_model_cone(ind,real(arg[0])+xxx,real(arg[1])+yyy,real(arg[2])+zzz, real(arg[3])+xxx,real(arg[4])+yyy,real(arg[5])+zzz, real(arg[6]),real(arg[7]),real(arg[8]),real(arg[9]) ); break;//конус case "0":flagvx=1;d3d_model_primitive_begin(ind,pr_trianglelist);break;//започва модел //4 е pr_trianglelist case "9"://полигон str=string_delete(str,1,string_pos(" ",str)); for(jkl=0;jkl<10;jkl+=1) { arg[jkl]=string_copy(str,0,string_pos(" ",str+" ")-1); str=string_delete(str,1,string_pos(" ",str)); } d3d_model_vertex_normal_texture_color(ind, real(arg[0])+xxx,real(arg[1])+yyy,real(arg[2])+zzz, real(arg[3]),real(arg[4]),real(arg[5]), real(arg[6]),real(arg[7]),real(arg[8]),real(arg[9]) ); break; } case "5"://полигон str=string_delete(str,1,string_pos(" ",str)); for(jkl=0;jkl<7;jkl+=1) { arg[jkl]=string_copy(str,0,string_pos(" ",str+" ")-1); str=string_delete(str,1,string_pos(" ",str)); } d3d_model_vertex_texture_color(ind, real(arg[0])+xxx,real(arg[1])+yyy,real(arg[2])+zzz, real(arg[3]),real(arg[4]),real(arg[5]),real(arg[6]) ); break; } file_text_readln(fileid); } file_text_close(fileid); if flagvx d3d_model_primitive_end(ind); -------------------- Цитат Пешо: 4:53:46 Я недейти са карайти тука че да ни ва зашливйъ |
|
|
19:31:48, 03-March-2010, Wednesday
Коментар
#2
|
|
Потребител Група: Потребител Коментари: 70 Регистриран: 05.11.09 Потребител № 1513 |
а няма ли да ти е по-лесно с :
Код model = createFromObj(file); //където "file" е директорията и името на файла texture = background_get_texture(background); //"background" е текстурата, която използваш (ако съм разбрал добре) Ето ти командата за изрисуване на модела на екрана, тя използва горните горните променливи с описанията, като имената им се задават в параметрире : Код d3d_model_draw(model,0,0,0,texture); незнам с Game Maker дали ще стане това ,защото съм го правил без гейм мейкър -------------------- |
|
|
21:02:02, 03-March-2010, Wednesday
Коментар
#3
|
|
Засмян тъпоъгълник :D Група: Администратор Коментари: 1790 Регистриран: 21.07.08 Град: Това е място, населено с много хора. FPS: 60 Потребител № 1116 |
1.createObjFile или там каквото е не е вградена функция - не знам къде си я видял.
2.Който и я е написал, си е изгубил времето, защото вече съществува такава. 3.Моя скрипт не е за зареждане на модел, а за обединяване на два модела. -------------------- Цитат Пешо: 4:53:46 Я недейти са карайти тука че да ни ва зашливйъ |
|
|
21:04:58, 03-March-2010, Wednesday
Коментар
#4
|
|
Потребител Група: Потребител Коментари: 70 Регистриран: 05.11.09 Потребител № 1513 |
1. Това не е за Game Maker
2. Това е за чисто програмиране 3. Несъм го пробвал щот няям време Иначе скрипта е супер -------------------- |
|
|
21:09:09, 03-March-2010, Wednesday
Коментар
#5
|
|
Засмян тъпоъгълник :D Група: Администратор Коментари: 1790 Регистриран: 21.07.08 Град: Това е място, населено с много хора. FPS: 60 Потребител № 1116 |
1.Първо използваш функция не в гм, после две за гм - и очакваш другите да те разберат.
2.Чисто програмиране не ми говори нищо. 3.Не давай акъл ако не знаеш за какво става въпрос. >.> -------------------- Цитат Пешо: 4:53:46 Я недейти са карайти тука че да ни ва зашливйъ |
|
|
21:20:11, 03-March-2010, Wednesday
Коментар
#6
|
|
Потребител Група: Потребител Коментари: 70 Регистриран: 05.11.09 Потребител № 1513 |
oффффффффффффф , ок
-------------------- |
|
|
03:17:09, 04-March-2010, Thursday
Коментар
#7
|
|
Редовен бъбривко Група: Администратор Коментари: 661 Регистриран: 08.07.05 Град: Бургас Потребител № 44 |
Imper4yy, термин "чисто програмиране" не съществува ^^
яверт, евалата за скрипта, доста добра идея и доста професионално изпълнение. p.s. Imper4yy, имаш още много да ядеш за да стигнеш до нивото на яверт (и това е истината) =) -------------------- |
|
|
Олекотена версия | Час: 21:06:50, 18.05.24 |