Home > Article > Анатомия на двигател за игри

Анатомия на двигател за игри

Анатомия на двигател за игри Bⅴ: Ричард Болд, Онлайн

org/licenses/by/30Структурата на колекцията е ревизирана 3/02/7 и информацията за приписването на модулите, съдържащи се в тази колекция, вижте раздела „Приписвания“ в края на

Компилирайте и стартирайте програматаСъздайте партиден файлe Изпълнете пакетния файлИзпълнете програмата Резюме Какво следва· Разни· Изтеглете изходния код1 2 Предговор· Преглед на tipo magesВъртене на манивелата Като професор по компютърни информационни технологии в Austin Community College, аз преподавам курсове по програмиране на игри, използвайки както C++, така и C#/XNA

Отдавна се притеснявам, че студентите влизат в моите курсове, очаквайки просто да завъртят манивелата на двигател за игри като DarkGDK или XNA и да излязат страхотни игри от другия край на процеса. ограничения, не е практично да се обучават тези студенти много за такива двигатели за игри. Ето защо реших да публикувам поредица от модули за анатомията на двигател за игри, които моите студенти (и други заинтересовани страни могат да прочетат, за да научат за тези вътрешни работи Първи в колекция Следователно , този модул е ​​първият в колекция от модули, предназначени да ви научат за анатомията на типичен двигател на играта (понякога наричан рамка на играта)

Библиотеката Slick2D избра да се съсредоточи върху безплатна библиотека с игри, наречена slick2D, (която е написана на Java)няколко причини. Имайки предвид следното, Java е езикът, с който се чувствам най-комфортно, следователно вероятно мога да направя по-добра работа за обяснение на анатомията на двигател за игри, който използва Slicked, отколкото би бил случаят с двигател за игри, написан на C++, C#, Python или някакъв друг език за програмиране. През последните години Java се доказа като комерсиално успешен език за програмиране на игри. Например, цитирам комерсиалната игра, наречена Minecraft , написан на Java, за който очевидно са продадени милиони копия. Освен това познаването на Java е много полезно за онези, които биха искали да разработват приложения за AndroidSlick2D е безплатен и изходният код за Slick2D е лесно достъпен

Цялостната структура на основния игрови двигател SlickeD е много подобна на Dark gDK и XNA и вероятно е подобна на други игрови двигатели, тъй като weJava е независима от платформата, приложима и към други среди, въпреки че модулите в тази колекция ще се съсредоточат върху библиотеката за игри на Java, наречена Включените концепции на Slick2Dhe и знанията, които ще придобиете, са приложими за други двигатели за игри, написани на различни езици за програмиране. Цел Целта на този модул е ​​да започнете, включително да ви покаже как да изтеглите и да изтеглите Slick2D и как да компилирате и изпълните първата си програма Slick2D Бъдеще модулизапочнете да се задълбочавате и да обяснявате вътрешната работа на основния игрови двигател Slick2D Какво трябва да знаете Тази поредица от модули не е предназначена за начинаещи програмисти Като минимум трябва да програмирате концепции за цикли, цикли while, извиквания на методи или функции, предаване на параметри и т.н. В идеалния случай, ще имате познания по обектно ориентирано програмиране на модерен език за програмиране като Java, C#, C++ или евентуално python или JavaScripttrees партидни или скриптови файлове и т.н. И накрая, трябва също така да се чувствате удобно да изтегляте и инсталирате софтуер на машината и

операционна система по ваш избор Какво ще научите В това спечелете как да изтеглите и инсталирате slicked на Windows xP vista или Windows 7 машина и как да компилирате и изпълните много проста slicked програма (Ако използвате различна операционна система, ще трябва да преведете тази информация в избраната от вас система. Въпреки това, тъй като Java е независима от платформата, подробностите за кода, които / ще обсъдим, ще се прилагат за всички или повечето платформи. Съветът за разглеждане препоръчваме да отворите друго копие на този модул в отделен прозорец на браузъра и да използвате следните връзки, за да намерите лесно и вижте фигурите и списъците, докато четете за тях изображение Изображение 1

Изход от Slicked по време на стартиране на програматаImage 2 Slick2D игра по подразбиране windonListingsListing 1 Slick2D програма с име Slicko100a javaListing 2 Файлът с име CompileAndrun bat13 Preview Повечето от slick2D уроците, които ще намерите в Интернет, ще започват, като ви казват да изтеглите и инсталирате високо ниво IDE като Eclipse или NetBeans Няма да правя това Докато IDE от високо ниво са страхотни за подобряване на производителността за опитни програмисти, считам ги за прекалени за студенти, които просто се учат как да програмират Не само, че са излишни, те също крият много подробности, които начинаещите програмисти трябва да разберете Следователно ще ви покажа как да инсталирате Slick2D по такъв начин, че да можете лесно да компилирате и изпълнявате Slicked програми от командния ред без нужда от highIDE Всичко, което искате

необходим е текстов редактор (за предпочитане цветно кодиран за синтаксиса на Java), безплатната дистрибуция Slick2d и безплатният комплект за разработка на Java от Oracle1 4 Изтеглете необходимия софтуер Текстови редактори Изгладената дистрибуция Комплектът за разработка на Java Текстови редактори В интернет има множество безплатни текстови редактори някои с и някои без цветово кодиране на javasyntax (в краен случай дори Windows Notepad ще е достатъчен

)Ето връзки към няколко от GRASP· DrAwaArachnophilia. Плъзгавата дистрибуция ще използва този материал в някои от курсовете по Java OoP програмиране, които преподавам. Очаквам, че ще бъдат направени промени и подобрения в библиотеката slick2D с течение на времето, но може да бъде много объркващо когато различни студенти в един и същ курс по програмиране използват различни версии на софтуер, особено ако са направени промени в софтуера, които не са по-стари. Ето защо ще направя копие на изгладеното разпространение, като щракнете тук, така че всички мои студенти да могат да изтеглят и използват същото версия в моите курсове. Ако не сте един от моите ученици, може да предпочетете да отидете на главната страница на slickeD и да изберете изтеглете най-новата версия на дистрибуцията, запазете този файл, за да научите повече за него по-късно

Използвайки каквато и програма да намерите, за да отворите zip файл (използвайте програма на име winZip), извлечете и запазете следните файлове от файла за разпространение на slick2d, който сте изтеглили по-раноck jnatives-win 32 iarВъв файла за разпространение на slick2d има много други файлове , но все още не се нуждаем от тях. Ако имаме нужда от тях в бъдещ модул, ще ви кажа, че тези три файла са необходими, за да задоволят изискванията за пътя на класа и библиотеката на Java, които описвам по-късно Първите два jar файла Копирайте първите два jar файла от горния списък в папката с име jars rese трябва да изпълните следната команда, за да зададете пътя на класа всеки път, когато компилирате или изпълнявате програма Slick2D cp ijars/slick

буркан; /jars/wjgljarТретият jar файл трябва да намери подобен файл в дистрибуцията Slick2D, който се отнася за вашата системна система, yoТретият файл в горния списък се отнася само за windows Ако използвате diff. Извлечете съдържанието на jar файла, като използвате всяка програма, която намерите за да отворите jar файл (използвам програма с име winzip), извлечете следните файлове от файла с име natives-win32jarjinput-dx8dIljinput-rawdI· lwjgl dllOpenal32 dllКопирайте тези четири файла в папката с име lwjglbin Както ще видите по-късно, това води до необходимост за да изпълните следната команда, за да зададете пътя на javalibrary sys

tem property

Djava библиотека path=lwjgnbin(Тези файлове могат също да се съхраняват в папката, от която се изпълнява програмата и това ще елиминира изискването за задаване на пътя на java библиотеката, ако предпочитате този подход16 Създайте, компилирайте и изпълнете вашите първо Slick2DprogramСъздайте файл с изходен код Компилирайте и стартирайте програмата Създайте партиден файлo Изпълнете пакетния файл Създайте файл с изходен код Използвайте вашия текстов редактор, за да създадете текстов файл с име slick0100a java и го запазете в папката с име Slicko100a(Внимавайте да се уверите, че файлът има правилното разширение, особено ако го създадете с бележника на Windows. Разширението на txt няма да работи) Внимателно копирайте кода от Listing linto в текстовия файл. Това е файлът, който ще опитате да компилирате и стартирате, за да потвърдите правилната работа на вашата система/*Slick0100a javaCRG Baldwin Проста програма, която показва определения метод, изискван от гладката рамка Тествано с помощта на JDK 1

7 под WinXPmport org newdawn слик AppGame Containermport org newdawn слик BasicGamenewdawn слик GameContainermport org newdawn слик Graphicsmport orgck SIickExceptio

Анатомия на двигател за игри Съдържание Глава l slicko100: Първи стъпки с играта slickeD libralo 11 Съдържаниеso 1 2, Предварителен преглед Съвет за преглед Listio13 Визуализация Изтеглете необходимия софтуер Редактиране на текстРазпределението slickeDa Комплектът за разработка на Java 16 Създайте, компилирайте и изпълнете първия си SlickeD програма Създайте файл с изходен код Компилирайте и стартирайте програмата Създайте партиден файл Изпълнете пакетния файл o lZ Стартирайте програмата Summaryo19 Какво следва111 Изтеглете изходния код· Глава 2, SlickerI0overvIewo

Съдържание so 2 2 Съвет за преглед на предговора so 23 Долният ред в горната част 2 4 Preview25, Какво е двигател на играта? Софтуерна рамка7 Дискусия и примерен кодПрограма за доставчик на услуги■ Два основни обекта Поведение на обект от класа App Game Container

Поведение на обект, който имплементира интерфейса на играта Slick011oaИнтерфейсът на играта в програмата 29 Резюме 210 Какво следва? o 211, Разни Глава 3 slicko120: Стартиране на вашата програма 3 1, Съдържаниеso2 Предговор■ съвет за показване Списък Дискусия и примерен код■ Два основни обектаa Поведение на обект от класа App Game Container Поведение на обект, който имплементира интерфейса на играта Конструкторите за класа App Game Container Методът за настройка на класа App Game Container Методът get Delta на класа Game Container Методът gameLoop на класа Appgame Container 36 Стартирайте програмата 3

7 Резюме 3 8 Какво следва? 3 10 Пълен списък с програми Глава 4 slicko130: Играта loopo 41 Съдържаниеso Съвет за преглед на изображенияИзображенияo 43 ВизуализацияСвойството с име runThe gameLoop methodder methoda Извиквания към метода за актуализиранеa Извиквания към метода за рендиране Цялостната структура на играта програма Дискусия и примерен код

Програмата с име slicko130■ Екранният изходBegimed slicko130aОсновният методОтменен метод за инициализиранеОтменен метод за актуализиранеn Отменен метод за изобразяване■ Край на дискусията Стартирайте програмата0 47 Обобщение 8 Какво следва?o 4 10 Пълен списък с програми Глава 5 slicko140: Първи поглед към SlickeD растерна графикаso 51 Таблица на съдържаниеso 52 ПредговорПреглед на tiListings53 Преглед5 4

Обща информация за фона55 Дискусия и примерен код Начало на класа с име Slick0140aОсновният методОтменен метод за стартиране Празен метод за актуализиранеn Отменен метод за изобразяване56 Стартирайте програматаO 5Suro 58 Какво следва?o Разниo 510 Пълен списък с програми Глава 6 Slicko150: Първи поглед към движението на спрайт , сблъсък de■ lewing tipo 63 Преглед6 4 Обща основна информация65 Дискусия и примерен кодПрограма с относително постоянна честота на кадрите- Slick0150aЕкранният изход за Slicko150a

Началото на класа с име Slick015(Конструкторът и основният методМетодът на init■ Методът на изобразяване Програма със силно променлива честота на кадрите- Slicko150bЕкранният изход за Slicko150bМетодът на изобразяванеАктуализиране methoo 66 Изпълнение на програмите67 Резюме 6 8 Какво следва69 Разниo 6 10 Пълни списъци с програми Глава 1 slicko160: Използване на методите за чертане и чертане на Flasho 7 1

Съдържание07 2 Съвет за преглед на предисловия■ Listingso 73 Preview74background informatio 75 Дискусия и примерен кодПрограмата на име Slick0160aa Начало на класа Slick0160a■ Основният методМетодът на init Методът на актуализиране Методът на рендиране Програмата на име Slick0160bНачалото на класа на име Slicko160b Методът на актуализиранеМетодът на рендиранеRun програмите0 17 Резюме Разни710 Пълен списък с програми8So81 Съдържаниеso82 Предговор Съвет за преглед

o83 Previewo 84 Genero 85 Discussion and sample code6 Run the programmo8 What's next?o89 Miscellaneouso 8 10 Complete program listingChapter 9 Slicko180: Sprite sheet animation, part Io 91 Table of ContentsPrefaceViewing tip■ Listingso 3 Previewo 94 Generkground informationThe spritesheet classThe Animation class95 Дискусия и примерен код Класът с име slicko180 Методът init Методът за актуализиране Методът за рендиране 26

Стартирайте програмата Summaryo 8 Какво следва?99 Разниo 9 10 Пълен списък с програми Глава 10 Slick0190: Анимация на лист със спрайтове, част 2o 101 Съдържаниеso 10 2 Съвет за преглед на предговора03 Преглед10 4 Общи baThe SpritesheetКласът на анимацията 105 Дискусия и примерен кодКласът с име slicko190 Методът за стартиране The метод за актуализиране

Методът на рендера 106 Изпълнете програмната резюме0108, какво следва? O109 Разни Метод Методът за актуализиране Методът за изобразяване 116 Стартирайте програмата IL7 Summaryoil

8 Какво следва?o 119, Разни1110CГлава 12 slick0210: Сблъсък без звукo121Tontentso2 Предварителен съвет за прегледLio 12,3 Previewo 124 Обща основна информацияo 12,5 Дискусия и примерен кодКласът с име SpritedИмето на класа■ Методът за стартиране Методът за актуализиране, методът на сблъсък на класа Spriteol render method12 6 Стартирайте програмата12 8 Какво следва?

o12 9 Разни 1210 Пълни списъци с програми Глава 13 Slick0220: Симулиране на пандемия 131, Съдържаниеso 2 Предговор Съвет за преглед■ Listings0133, Previewo 13 4

Обща основна информацияo 135 Дискусия и примерен кодКласът с име spriteolКласът namk0220Методът за актуализиранеМетодът за изобразяванеo 136 Стартирайте програмата013 8 Заключениеo9 Разниo 13 10 Пълен списък на програмата

Глава 1 Slick0100: Първи стъпки с библиотеката slick2Dgame Тя е лицензирана съгласно лиценза Creative Commons за приписване http://creativecommons

org/licenses/b2013/02/0708:38:05-0600РезюмеНаучете как да инсталирате Slick2D по такъв начин, че да можете лесно да компилирате и изпълнявате Slick2Dпрограми от командния ред без нужда от високо ниво на IDE11 съдържание· Предварителен преглед Съвет за преглед на изображения Liste Преглед Изтеглете необходимия софтуер· Текстови редактори Плъзгавата 2D дистрибуция Разработката на ava KИнсталирайте необходимия софтуер Създайте, компилирайте и изпълнете първата си Slick2D програма Създайте файл с изходен код