Приветствую всех игроделов и просто посетителей сайта GcUp.ru! Это - мой второй урок по языку программирования Dark Basic. Урок довольно сложный, при его написании, автор полагает - что вы изучили предыдущий урок Урок 1 Кто этого не сделал, настоятельно рекомендую - изучить сначала предыдущий урок, а потом приступать к этому... Ну, а с остальными читателями, мы двинемся дальше! Сейчас рассмотрим в подробностях - как же создать такое приложение. Для темы скринсейвера, я выбрал довольно популярную тему космоса... Давайте создадим - целую планетную систему, тем более что в прошлый раз, мы заложили основу... И так - приступим! Запускаем DBPro и создаём новое приложение (как это сделать - вы знаете по прошлому уроку). Назовём его - Space screensaver. Теперь проведём небольшие приготовления. Для урока, используется довольно много графического контента, поэтому я запаковал его в архив Контент. Этот архив, требуется распаковать в папку \Dark Basic Pro\Projects\Space Screensaver. Ну вот, теперь мы готовы к началу! Идея реализации - довольно проста, создаём из сферы Солнце, потом так же создаём из сфер все остальные планеты, прикрепляем их к Солнцу и заставляем вращаться вокруг по круговым орбитам. Ну что же, начнём воплощать нашу задумку в жизнь. flush video memory set display mode 1024,768,32 sync on :sync rate 50 : backdrop on autocam off set camera range 1,25000 randomize timer() set global object creation 0 hide mouse Дальше, я буду пояснять только новые команды, которых нет в первом уроке. flush video memory - эта команда очищает видеопамять autocam off - отключение автоматической камеры set camera range 1,25000 - установка передней и задней границ отсечения изображения. randomize timer - мы будем использовать случайные числа, поэтому зададим вход в цепочку случайных чисел, зависимым от значения таймера. set global object creation 0 - зададим специальный метод создания объектов, что-бы после выхода можно было корректно освободить ресурсы. hide mouse - скроем указатель мыши. Текстурим задник. load image "image\cosmic.jpg",100 texture backdrop 100 Теперь займёмся Солнцем. Сначала сделаем плоскость, затекстурим её и расположим в пространстве - это будет Солнечная корона. Потом создадим сферу, затекстурим и расположим там же, где и плоскость. load image "image\sun1.jpg",10 make object plain 10,512,512 - создадим плоскость texture object 10,10 position object 10,400,0,800 - расположим плоскость в т. Х=400 Y=0 Z=800 scale object 10,55,55,0 - подгоним размер position camera 0,0,0 - расположим камеру в т. 0,0,0 ghost object on 10 - сделаем плоскость полупрозрачной. set object light 10,0 - отключим влияние света fade object 10,350 - сделаем плоскость ярче load image "image\sunmap.jpg",11 make object sphere 11,150,25,25 texture object 11,11 position object 11,400,0,800 set object light 11,0 fade object 11,650 *К новым операторам, даны пояснения... Далее создаём планеты и приклеиваем их - к невидимым сферам, которые помещаем в центр солнца. Если теперь, невидимую сферу покрутить вокруг оси Z, то планета как привязанная - будет двигаться вокруг неё, т.е. фактически вокруг солнца. На планетах, где есть атмосфера - создадим дополнительно, ещё одну сферу чуть побольше. Сделаем её полупрозрачной и затекстурим той же картинкой что и саму планету - это будет атмосфера. В приведённом далее куске кода - нет ничего сложного и все команды нам известны, поэтому комментировать его, я не буду... Единственное - добавлю, что у Земли таким же способом создаётся Луна. А у Сатурна - создаются плоскостью кольца. Code `================== Создаём меркурий ====================== load image "image\mercury.jpg",1 make object sphere 1,70,20,20 texture object 1,1 position object 1,-250,0,0 make object sphere 21,10 glue object to limb 1,21,0,0 position object 21,400,0,800 hide object 21 `================== Создаём венеру ======================== load image "image\venus.jpg",2 make object sphere 2,110,20,20 texture object 2,2 make object sphere 32,120,20,20 texture object 32,2 ghost object on 32 fade object 32,150 glue object to limb 32,2,0,0 position object 2,-400,0,0 make object sphere 22,10 glue object to limb 2,22,0,0 position object 22,400,0,800 hide object 22 `================== Создаём землю =========================== load image "image\earth.jpg",3 make object sphere 3,120,20,20 texture object 3,3 make object sphere 30,130,20,20 load image "image\Clouds.jpg",30 texture object 30,30 glue object to limb 30,3,0,0 ghost object on 30 fade object 30,300 set object light 30,0 position object 3,-700,0,0 make object sphere 31,50 position object 31,-150,0,0 load image "image\MOON.JPG",31 texture object 31,31 glue object to limb 31,3,0,0 make object sphere 23,10 glue object to limb 3,23,0,0 position object 23,400,0,800 hide object 23 `=================== Создаём марс ============================ load image "image\mars.jpg",4 make object sphere 4,100,20,20 texture object 4,4 make object sphere 41,108,20,20 texture object 41,4 ghost object on 41 fade object 41,350 glue object to limb 41,4,0,0 position object 4,-1000,0,0 make object sphere 24,10 glue object to limb 4,24,0,0 position object 24,400,0,800 hide object 24 `==================== Создаём юпитер ========================== load image "image\jupiter.jpg",5 make object sphere 5,150,20,20 texture object 5,5 make object sphere 51,165,20,20 texture object 51,5 ghost object on 51 set object light 51,0 glue object to limb 51,5,0,0 position object 5,-1250,0,0 make object sphere 25,10 glue object to limb 5,25,0,0 position object 25,400,0,800 hide object 25 `====================== Создаём сатурн ======================== load image "image\saturn.jpg",6 make object sphere 6,140,20,20 texture object 6,6 make object sphere 61,150,20,20 texture object 61,6 ghost object on 61 set object light 61,0 glue object to limb 61,6,0,0 position object 6,-1600,0,0 make object plain 62,410,410 load image "image\Kolsa.jpg",62 texture object 62,62 ghost object on 62 glue object to limb 62,6,0,0 xrotate object 62,-60 make object sphere 26,10 glue object to limb 6,26,0,0 position object 26,400,0,800 hide object 26 `====================== Создаём Уран ======================== load image "image\uranus.jpg",7 make object sphere 7,130,20,20 texture object 7,7 make object sphere 71,140,20,20 texture object 71,7 ghost object on 71 set object light 71,0 glue object to limb 71,7,0,0 position object 7,-1950,0,0 make object sphere 27,10 glue object to limb 7,27,0,0 position object 27,400,0,800 hide object 27 `====================== Создаём Нептун ===================== load image "image\neptune.jpg",8 make object sphere 8,130,20,20 texture object 8,8 make object sphere 81,140,20,20 texture object 81,8 ghost object on 81 set object light 81,0 glue object to limb 81,8,0,0 position object 8,-2200,0,0 make object sphere 28,10 glue object to limb 8,28,0,0 position object 28,400,0,800 hide object 28 `====================== Создаём Плутон =============== load image "image\pluton.jpg",9 make object sphere 9,110,20,20 texture object 9,9 position object 9,-2400,0,0 make object sphere 29,10 glue object to limb 9,29,0,0 position object 29,400,0,800 hide object 29 Теперь - случайно генерируем угол поворота невидимых сфер каждой из планет, вокруг оси Z. Причём прошу обратить внимание, что при повороте планеты вокруг солнца на какой-то угол, вертикальная ось собственного вращения планеты - тоже отклоняется на этот угол (т.е. планета будет вращаться вокруг своей оси не вертикально, а под углом). Что-бы это исправить, нам надо повернуть планеты в противоположную сторону на угол поворота вокруг оси Z. Например: rogod1#=int(rnd(360)) - генерируем угол zrotate object 21,rogod1# - поворачиваем невидимую сферу zrotate object 1,-rogod1# - поворачиваем планету на столько-же обратно Code `=============== Случайно размещаем планеты на орбитах ======== rogod1#=int(rnd(360)) zrotate object 21,rogod1# zrotate object 1,-rogod1# rogod2#=int(rnd(360)) zrotate object 22,rogod2# zrotate object 2,-rogod2# rogod3#=int(rnd(360)) zrotate object 23,rogod3# zrotate object 3,-rogod3# rogod4#=int(rnd(360)) zrotate object 24,rogod4# zrotate object 4,-rogod4# rogod5#=int(rnd(360)) zrotate object 25,rogod5# zrotate object 5,-rogod5# rogod6#=int(rnd(360)) zrotate object 26,rogod6# zrotate object 6,-rogod6# rogod7#=int(rnd(360)) zrotate object 27,rogod7# zrotate object 7,-rogod7# rogod8#=int(rnd(360)) zrotate object 28,rogod8# zrotate object 8,-rogod8# rogod9#=int(rnd(360)) zrotate object 29,rogod9# zrotate object 9,-rogod9# Теперь делаем метеориты. Для этого, загрузим один 3D обьект из папки, затекстурим его. Случайно разместим на некоторой площади вправо-влево и сделаем в цикле необходимое количество копий, которые тоже случайным образом разместим в 3D сцене, немного варьируя их размеры. Code kam=200 load image "Models\Stone\stoneimg.jpg",101 load object "Models\Stone\stone1.DBO",101 texture object 101,101 scale object 101,400,400,400 position object 101,0,0,3000 for i=102 to kam x=int(rnd(12000)-6000):y=int(rnd(12000)-6000):z=int(rnd(2000)+5000) instance object i,101 position object i,x,y,z ra=int(rnd(200)+400) scale object i,ra,ra,ra x=int(rnd(360)) y=int(rnd(360)) z=int(rnd(360)) rotate object i,x,y,z next i Аналогичным образом расставим несколько галактик и нарисуем две кометы. Code `=============== Ставим фоновые Галактики ================== restore galacto for num=90 to 97 read gal$ load image gal$,num make object plain num,500,310 texture object num,num ghost object on num x=int(rnd(22000)-11000):y=int(rnd(22000)-11000):z=int(rnd(10000)+11000) position object num,x,y,z set object light num,0 ra=int(rnd(600)+400) scale object num,ra,ra,0 next num galacto: data "image\Gal1.jpeg","image\Gal2.jpeg","image\Gal3.jpeg","image\Gal4.jpeg" data "image\Gal5.jpeg","image\Gal6.jpeg","image\Gal7.jpeg","image\Gal8.jpeg"
`======================== Рисуем Комету ================== load image "image\Komet.jpg",300 make object plain 300,290,108 texture object 300,300 ghost object on 300 set object light 300,0 x=int(rnd(5000)-2500):y=int(rnd(5000)-2500) position object 300,x,y,2000 scale object 300,400,300,0 yrotate object 300,90 fix object pivot 300 point object 300,0,0,2000
make object plain 301,290,108 texture object 301,300 ghost object on 301 set object light 301,0 x=int(rnd(5000)-2500):y=int(rnd(5000)-2500) position object 301,x,y,2500 scale object 301,400,400,0 yrotate object 301,90 fix object pivot 301 point object 301,0,0,2500 Ну что же, все обьекты расставлены, можно писать тело программы. Тут требуют пояснений только команды wrapvalue (угол). Эта команда преобразует число в предел от 0 до 360 градусов. yrotate object номер объекта,угол - эта команда поворачивает обьект вокруг оси у на определённый угол, а zrotate object поворачивает вокруг оси z. Ну и наверное введём ещё - плавное движение камеры. Я выбрал движение - по закону синуса - косинуса, но каждый, волен придумать свою формулу движения. Code do `=================== Вращение планет суточное =============== yrotate object 1,wrapvalue (rosut1#) yrotate object 2,wrapvalue (rosut2#) yrotate object 3,wrapvalue (rosut3#) yrotate object 31,wrapvalue (rosut31#) yrotate object 4,wrapvalue (rosut4#) yrotate object 5,wrapvalue (rosut5#) yrotate object 7,wrapvalue (rosut7#) yrotate object 8,wrapvalue (rosut8#) yrotate object 9,wrapvalue (rosut9#) `=================== Вращение Атмосфер ==================== ro#=ro#+0.5 yrotate object 32,wrapvalue (ro#)`- Атмосфера Венера yrotate object 41,wrapvalue (ro#) yrotate object 51,wrapvalue (ro#) yrotate object 61,wrapvalue (ro#) yrotate object 71,wrapvalue (ro#) yrotate object 81,wrapvalue (ro#) roll object left 10,0.1 ` - поворот спрайта солнца yrotate object 11,wrapvalue (ro#)` - поворот солнца `======================== Вращение годовое ================ zrotate object 21,wrapvalue (rogod1#) zrotate object 1,wrapvalue (-rogod1#) zrotate object 22,wrapvalue (rogod2#) zrotate object 2,wrapvalue (-rogod2#) zrotate object 23,wrapvalue (rogod3#) zrotate object 3,wrapvalue (-rogod3#) zrotate object 24,wrapvalue (rogod4#) zrotate object 4,wrapvalue (-rogod4#) zrotate object 25,wrapvalue (rogod5#) zrotate object 5,wrapvalue (-rogod5#) zrotate object 26,wrapvalue (rogod6#) zrotate object 6,wrapvalue (-rogod6#) zrotate object 27,wrapvalue (rogod7#) zrotate object 7,wrapvalue (-rogod7#) zrotate object 28,wrapvalue (rogod8#) zrotate object 8,wrapvalue (-rogod8#) zrotate object 29,wrapvalue (rogod9#) zrotate object 9,wrapvalue (-rogod9#)
if timer()-temp>20 gosub vras temp=timer() endif pos#=wrapvalue (pos#+0.05) position camera sin(pos#)*800,cos(pos#)*800,0 sync
loop delete objects 1,301 end
`================= Подпрограмма поворота камней ============= vras: for i=101 to kam if object in screen(i)=1 if object size(i)<80 k=floor(i/2) if k*2=i then rotate object i,roc,roc,roc else rotate object i,-roc,-roc,-roc endif endif next i roc=wrapvalue (roc+1) return Ну вот и всё! Наша программа - написана! Запустим её, нажав F5, что-бы убедиться что всё без ошибок. У кого не получилось - ещё раз, всё тщательно проверьте. У вас должен получиться вот такой код: Code Rem Project: Space Scrinsaver Rem Created: 22.11.2010 1:31:13
Rem ***** Main Source File ***** flush video memory set display mode 1024,768,32 sync on : sync rate 50 : backdrop on autocam off set camera range 1,25000 randomize timer() set global object creation 0 hide mouse
`================== Текстурим задник ==================== load image "image\cosmic.jpg",100 texture backdrop 100
`==================== Создаём Солнце ================== load image "image\sun1.jpg",10 make object plain 10,512,512 texture object 10,10 position object 10,400,0,800 scale object 10,55,55,0 position camera 0,0,0 ghost object on 10 set object light 10,0 fade object 10,350 load image "image\sunmap.jpg",11 make object sphere 11,150,25,25 texture object 11,11 position object 11,400,0,800 set object light 11,0 fade object 11,650 `================== Создаём меркурий ================== load image "image\mercury.jpg",1 make object sphere 1,70,20,20 texture object 1,1 position object 1,-250,0,0 make object sphere 21,10 glue object to limb 1,21,0,0 position object 21,400,0,800 hide object 21 `================== Создаём венеру =================== load image "image\venus.jpg",2 make object sphere 2,110,20,20 texture object 2,2 make object sphere 32,120,20,20 texture object 32,2 ghost object on 32 fade object 32,150 glue object to limb 32,2,0,0 position object 2,-400,0,0 make object sphere 22,10 glue object to limb 2,22,0,0 position object 22,400,0,800 hide object 22 `================== Создаём землю =================== load image "image\earth.jpg",3 make object sphere 3,120,20,20 texture object 3,3 make object sphere 30,130,20,20 load image "image\Clouds.jpg",30 texture object 30,30 glue object to limb 30,3,0,0 ghost object on 30 fade object 30,300 set object light 30,0 position object 3,-700,0,0 make object sphere 31,50 position object 31,-150,0,0 load image "image\MOON.JPG",31 texture object 31,31 glue object to limb 31,3,0,0 make object sphere 23,10 glue object to limb 3,23,0,0 position object 23,400,0,800 hide object 23 `=================== Создаём марс ================== load image "image\mars.jpg",4 make object sphere 4,100,20,20 texture object 4,4 make object sphere 41,108,20,20 texture object 41,4 ghost object on 41 fade object 41,350 glue object to limb 41,4,0,0 position object 4,-1000,0,0 make object sphere 24,10 glue object to limb 4,24,0,0 position object 24,400,0,800 hide object 24 `==================== Создаём юпитер =================== load image "image\jupiter.jpg",5 make object sphere 5,150,20,20 texture object 5,5 make object sphere 51,165,20,20 texture object 51,5 ghost object on 51 set object light 51,0 glue object to limb 51,5,0,0 position object 5,-1250,0,0 make object sphere 25,10 glue object to limb 5,25,0,0 position object 25,400,0,800 hide object 25 `====================== Создаём сатурн ================ load image "image\saturn.jpg",6 make object sphere 6,140,20,20 texture object 6,6 make object sphere 61,150,20,20 texture object 61,6 ghost object on 61 set object light 61,0 glue object to limb 61,6,0,0 position object 6,-1600,0,0 make object plain 62,410,410 load image "image\Kolsa.jpg",62 texture object 62,62 ghost object on 62 glue object to limb 62,6,0,0 xrotate object 62,-60 make object sphere 26,10 glue object to limb 6,26,0,0 position object 26,400,0,800 hide object 26 `====================== Создаём Уран =================== load image "image\uranus.jpg",7 make object sphere 7,130,20,20 texture object 7,7 make object sphere 71,140,20,20 texture object 71,7 ghost object on 71 set object light 71,0 glue object to limb 71,7,0,0 position object 7,-1950,0,0 make object sphere 27,10 glue object to limb 7,27,0,0 position object 27,400,0,800 hide object 27 `====================== Создаём Нептун ================= load image "image\neptune.jpg",8 make object sphere 8,130,20,20 texture object 8,8 make object sphere 81,140,20,20 texture object 81,8 ghost object on 81 set object light 81,0 glue object to limb 81,8,0,0 position object 8,-2200,0,0 make object sphere 28,10 glue object to limb 8,28,0,0 position object 28,400,0,800 hide object 28 `====================== Создаём Плутон ================ load image "image\pluton.jpg",9 make object sphere 9,110,20,20 texture object 9,9 position object 9,-2400,0,0 make object sphere 29,10 glue object to limb 9,29,0,0 position object 29,400,0,800 hide object 29 `=============== Случайно размещаем планеты на орбитах ========= rogod1#=int(rnd(360)) zrotate object 21,rogod1# zrotate object 1,-rogod1# rogod2#=int(rnd(360)) zrotate object 22,rogod2# zrotate object 2,-rogod2# rogod3#=int(rnd(360)) zrotate object 23,rogod3# zrotate object 3,-rogod3# rogod4#=int(rnd(360)) zrotate object 24,rogod4# zrotate object 4,-rogod4# rogod5#=int(rnd(360)) zrotate object 25,rogod5# zrotate object 5,-rogod5# rogod6#=int(rnd(360)) zrotate object 26,rogod6# zrotate object 6,-rogod6# rogod7#=int(rnd(360)) zrotate object 27,rogod7# zrotate object 7,-rogod7# rogod8#=int(rnd(360)) zrotate object 28,rogod8# zrotate object 8,-rogod8# rogod9#=int(rnd(360)) zrotate object 29,rogod9# zrotate object 9,-rogod9#
`=================== Делаем метеориты ================ kam=200 load image "Models\Stone\stoneimg.jpg",101 load object "Models\Stone\stone1.DBO",101 texture object 101,101 scale object 101,400,400,400 position object 101,0,0,3000 for i=102 to kam x=int(rnd(12000)-6000):y=int(rnd(12000)-6000):z=int(rnd(2000)+5000) instance object i,101 position object i,x,y,z ra=int(rnd(200)+400) scale object i,ra,ra,ra x=int(rnd(360)) y=int(rnd(360)) z=int(rnd(360)) rotate object i,x,y,z next i `================ Ставим фоновые Галактики ============= restore galacto for num=90 to 97 read gal$ load image gal$,num make object plain num,500,310 texture object num,num ghost object on num x=int(rnd(22000)-11000):y=int(rnd(22000)-11000):z=int(rnd(10000)+11000) position object num,x,y,z set object light num,0 ra=int(rnd(600)+400) scale object num,ra,ra,0 next num galacto: data "image\Gal1.jpeg","image\Gal2.jpeg","image\Gal3.jpeg","image\Gal4.jpeg" data "image\Gal5.jpeg","image\Gal6.jpeg","image\Gal7.jpeg","image\Gal8.jpeg"
`=================== Рисуем Комету ================== load image "image\Komet.jpg",300 make object plain 300,290,108 texture object 300,300 ghost object on 300 set object light 300,0 x=int(rnd(5000)-2500):y=int(rnd(5000)-2500) position object 300,x,y,2000 scale object 300,400,300,0 yrotate object 300,90 fix object pivot 300 point object 300,0,0,2000
make object plain 301,290,108 texture object 301,300 ghost object on 301 set object light 301,0 x=int(rnd(5000)-2500):y=int(rnd(5000)-2500) position object 301,x,y,2500 scale object 301,400,400,0 yrotate object 301,90 fix object pivot 301 point object 301,0,0,2500
`==================================================== do
`======================= Двигаем кометы ============== move object 300,1 move object 301,1 for l=300 to 301 xc=object position x(l) yc=object position y(l) zc=object position z(l) if xc>3000 or xc<-3000 or yc>3000 or yc<-3000 point object l,0,0,zc ang=object angle z(l) dang=int(rnd(60)-30) zrotate object l,wrapvalue (ang+dang) endif next l `============= Константы суточных вращений планет ============= rosut1#=rosut1#+2 rosut2#=rosut2#+0.6 rosut3#=rosut3#+0.5 rosut31#=rosut31#+0.5 `- луна rosut4#=rosut4#+0.4 rosut5#=rosut5#+0.3 rosut7#=rosut7#+0.3 rosut8#=rosut8#+0.2 rosut9#=rosut9#+0.8 `============== Константы годовых вращений планет =========== rogod1#=rogod1#+0.2 rogod2#=rogod2#+0.15 rogod3#=rogod3#+0.1 rogod4#=rogod4#+0.075 rogod5#=rogod5#+0.06 rogod6#=rogod6#+0.05 rogod7#=rogod7#+0.03 rogod8#=rogod8#+0.02 rogod9#=rogod9#+0.012 rogod12#=rogod12#+0.01
`================ Вращение планет суточное ============ yrotate object 1,wrapvalue (rosut1#) yrotate object 2,wrapvalue (rosut2#) yrotate object 3,wrapvalue (rosut3#) yrotate object 31,wrapvalue (rosut31#) yrotate object 4,wrapvalue (rosut4#) yrotate object 5,wrapvalue (rosut5#) yrotate object 7,wrapvalue (rosut7#) yrotate object 8,wrapvalue (rosut8#) yrotate object 9,wrapvalue (rosut9#) `================== Вращение Атмосфер ===================== ro#=ro#+0.5 yrotate object 32,wrapvalue (ro#)`- Атмосфера Венера yrotate object 41,wrapvalue (ro#) yrotate object 51,wrapvalue (ro#) yrotate object 61,wrapvalue (ro#) yrotate object 71,wrapvalue (ro#) yrotate object 81,wrapvalue (ro#) roll object left 10,0.1 ` - поворот спрайта солнца yrotate object 11,wrapvalue (ro#)` - поворот солнца `==================== Вращение годовое =================== zrotate object 21,wrapvalue (rogod1#) zrotate object 1,wrapvalue (-rogod1#) zrotate object 22,wrapvalue (rogod2#) zrotate object 2,wrapvalue (-rogod2#) zrotate object 23,wrapvalue (rogod3#) zrotate object 3,wrapvalue (-rogod3#) zrotate object 24,wrapvalue (rogod4#) zrotate object 4,wrapvalue (-rogod4#) zrotate object 25,wrapvalue (rogod5#) zrotate object 5,wrapvalue (-rogod5#) zrotate object 26,wrapvalue (rogod6#) zrotate object 6,wrapvalue (-rogod6#) zrotate object 27,wrapvalue (rogod7#) zrotate object 7,wrapvalue (-rogod7#) zrotate object 28,wrapvalue (rogod8#) zrotate object 8,wrapvalue (-rogod8#) zrotate object 29,wrapvalue (rogod9#) zrotate object 9,wrapvalue (-rogod9#)
if timer()-temp>20 gosub vras temp=timer() endif pos#=wrapvalue (pos#+0.05) position camera sin(pos#)*800,cos(pos#)*800,0 sync
loop delete objects 1,301 end
`================= Подпрограмма поворота камней ============== vras: for i=101 to kam if object in screen(i)=1 if object size(i)<80 k=floor(i/2) if k*2=i then rotate object i,roc,roc,roc else rotate object i,-roc,-roc,-roc endif endif next i roc=wrapvalue (roc+1) return У тех, у кого всё получилось правильно - продолжим дальше. Прежде всего, в свойствах проекта, нам необходимо добавить файлы мультимедиа... Для этого, во вкладке Меdia, с помощью кнопки Add добавляем все папки с контентом из нашего проекта. Потом переключаемся на вкладку - Settings, ставим галочку напротив - EXE with attached media и компилируем с помощью F4. Всё, можете забирать из папочки своего проекта - готовый файл ЕХЕ. Теперь, сменим расширение файла на SCR - и скринсейвер готов. Осталось положить его в папку \windows\system32 и всё, можете наслаждаться собственным скринсейвером, выбрав его в свойствах экрана! Ну а те пользователи, у которых совсем ничего не получилось - могут скачать готовый скринсейвер по ссылке:Космический скринсейвер Всем удачи и до новых уроков! |