Opis książki: Learning Java by Building Android Games
Get ready for a fun-filled experience of learning Java by developing games for the Android platform
Key Features
- Learn Java, Android, and object-oriented programming from scratch
- Build games including Sub Hunter, Retro Pong, Bullet Hell, Classic Snake, and a 2D Scrolling Shooter
- Create and design your own games, such as an open-world platform game
Book Description
Android is one of the most popular mobile operating systems presently. It uses the most popular programming language, Java, as the primary language for building apps of all types. However, this book is unlike other Android books in that it doesn't assume that you already have Java proficiency.
This new and expanded second edition of Learning Java by Building Android Games shows you how to start building Android games from scratch. The difficulty level will grow steadily as you explore key Java topics, such as variables, loops, methods, object oriented programming, and design patterns, including code and examples that are written for Java 9 and Android P.
At each stage, you will put what you've learned into practice by developing a game. You will build games such as Minesweeper, Retro Pong, Bullet Hell, and Classic Snake and Scrolling Shooter games. In the later chapters, you will create a time-trial, open-world platform game.
By the end of the book, you will not only have grasped Java and Android but will also have developed six cool games for the Android platform.
What you will learn
- Set up a game development environment in Android Studio
- Implement screen locking, screen rotation, pixel graphics, and play sound effects
- Respond to a player's touch, and program intelligent enemies who challenge the player in different ways
- Learn game development concepts, such as collision detection, animating sprite sheets, simple tracking and following, AI, parallax backgrounds, and particle explosions
- Animate objects at 60 frames per second (FPS) and manage multiple independent objects using Object-Oriented Programming (OOP)
- Understand the essentials of game programming, such as design patterns, object-oriented programming, Singleton, strategy, and entity-component patterns
- Learn how to use the Android API, including Activity lifecycle, detecting version number, SoundPool API, Paint, Canvas, and Bitmap classes
- Build a side-scrolling shooter and an open world 2D platformer using advanced OOP concepts and programming patterns
Who this book is for
Learning Java by Building Android Games is for you if you are completely new to Java, Android, or game programming and want to make Android games. This book also acts as a refresher for those who already have experience of using Java on Android or any other platform without game development experience.
Wybrane bestsellery
-
O tym, ile problemów sprawia niedbale napisany kod, wie każdy programista. Nie wszyscy jednak wiedzą, jak napisać ten świetny, „czysty” kod i czym właściwie powinien się on charakteryzować. Co więcej – jak odróżnić dobry kod od złego? Odpowiedź na te pytania oraz sposoby tworzen...(0,00 zł najniższa cena z 30 dni)
47.40 zł
79.00 zł(-40%) -
Ta książka powinna zostać przestudiowana przez każdego architekta nowoczesnych systemów rozproszonych. Jej celem jest pokazanie sposobów rozwiązywania trudnych problemów związanych z projektowaniem takiego oprogramowania. W krytyczny i wszechstronny sposób omówiono w niej najważniejsze problemy u...
Złożone zagadnienia architektury oprogramowania. Jak analizować kompromisy i podejmować trudne decyzje Złożone zagadnienia architektury oprogramowania. Jak analizować kompromisy i podejmować trudne decyzje
(0,00 zł najniższa cena z 30 dni)69.30 zł
99.00 zł(-30%) -
Dave Thomas i Andy Hunt napisali pierwsze wydanie tej wpływowej książki w 1999 roku, aby pomóc swoim klientom tworzyć lepsze oprogramowanie i na nowo odnaleźć radość z kodowania. Nauki płynące z tamtego wydania pomogły wielu pokoleniom programistów zbadać istotę rozwoju oprogramowania, niezależni...
Pragmatyczny programista. Od czeladnika do mistrza. Wydanie II Pragmatyczny programista. Od czeladnika do mistrza. Wydanie II
(0,00 zł najniższa cena z 30 dni)46.20 zł
77.00 zł(-40%) -
W tej książce w sposób jasny i bardzo interesujący przedstawiono uniwersalne zasady architektury oprogramowania wraz z szeregiem wskazówek dotyczących stosowania tych reguł w praktyce. Wyczerpująco zaprezentowano tu dostępne rozwiązania i wyjaśniono, dlaczego są one tak istotne dla sukcesu przeds...
Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów
(0,00 zł najniższa cena z 30 dni)53.40 zł
89.00 zł(-40%) -
Oto pierwszy tom dzieła, które stanowi inspirujące spojrzenie na sztuczną inteligencję. Jego zrozumienie nie wymaga wybitnej znajomości informatyki i matematyki. Książka jest wspaniałą syntezą wczesnych i późniejszych koncepcji, a także technik, przeprowadzoną we frameworku idei, metod i technolo...
Sztuczna inteligencja. Nowe spojrzenie. Wydanie IV. Tom 1 Sztuczna inteligencja. Nowe spojrzenie. Wydanie IV. Tom 1
(0,00 zł najniższa cena z 30 dni)118.30 zł
169.00 zł(-30%) -
Odpowiedź na to fundamentalne pytanie znajdziesz w tej książce ? drugim wydaniu świetnego podręcznika dla przyszłych mistrzów kodu. Zostało ono, podobnie jak inne pozycje z serii Rusz głową!, przygotowane zgodnie z najnowszymi odkryciami nauk poznawczych, teorii uczenia się i neurofizjologii. I w...
Wzorce projektowe. Rusz głową! Tworzenie rozszerzalnego i łatwego w utrzymaniu oprogramowania obiektowego. Wydanie II Wzorce projektowe. Rusz głową! Tworzenie rozszerzalnego i łatwego w utrzymaniu oprogramowania obiektowego. Wydanie II
(0,00 zł najniższa cena z 30 dni)76.30 zł
109.00 zł(-30%) -
To kolejne wydanie lubianego samouczka, dzięki któremu w ramach 24 godzinnych lekcji przyswoisz solidne podstawy programowania. Zrozumiesz, jak działają programy, i nauczysz się reguł stosowanych przez profesjonalistów przy ich projektowaniu. Dowiesz się, jak wygląda świat programistów i na czym ...
Programowanie dla początkujących w 24 godziny. Wydanie IV Programowanie dla początkujących w 24 godziny. Wydanie IV
(0,00 zł najniższa cena z 30 dni)34.50 zł
69.00 zł(-50%) -
Jeśli chcesz być profesjonalistą i postanowiłeś nauczyć się wszystkiego, co jest do tego potrzebne, to wziąłeś do ręki właściwą książkę. Zawiera ona znacznie więcej informacji niż proste wprowadzenie do konkretnego języka programowania. Opisano tu najpotrzebniejsze technologie, elementy kodu i za...
Programista samouk. Profesjonalny przewodnik do samodzielnej nauki kodowania Programista samouk. Profesjonalny przewodnik do samodzielnej nauki kodowania
(0,00 zł najniższa cena z 30 dni)41.30 zł
59.00 zł(-30%) -
Ta książka powstała z myślą o architektach oprogramowania, projektantach, programistach i dyrektorach do spraw technicznych. Zwięźle i przystępnie opisano w niej, jak zadbać o bezpieczeństwo na wczesnym etapie projektowania oprogramowania i jak zaangażować w ten proces cały team. Najpierw zapreze...
Po pierwsze: bezpieczeństwo. Przewodnik dla twórców oprogramowania Po pierwsze: bezpieczeństwo. Przewodnik dla twórców oprogramowania
(0,00 zł najniższa cena z 30 dni)55.30 zł
79.00 zł(-30%) -
Trzech poważanych architektów oprogramowania omawia cały cykl życia, prezentując praktyczne wskazówki, metody stosowane przez ekspertów i sprawdzone modele przydatne w każdym projekcie niezależnie od poziomu jego złożoności. Dowiesz się, jak za pomocą architektury radzić sobie z coraz większymi w...
Architektura oprogramowania w praktyce. Wydanie IV Architektura oprogramowania w praktyce. Wydanie IV
(0,00 zł najniższa cena z 30 dni)59.40 zł
99.00 zł(-40%)
John Horton - pozostałe książki
-
Learn the Java and Android skills you need to start developing powerful mobile applications with the help of actionable steps
-
Get ready to learn Java the fun way by developing games for the Android platform with this new and updated third edition
Learning Java by Building Android Games - Third Edition Learning Java by Building Android Games - Third Edition
-
Get to grips with programming techniques and game development using C++ libraries and Visual Studio 2019
-
Build smart looking Kotlin apps with UI and functionality for the Android platform
-
Learn all the Java and Android skills you need to start making powerful mobile applications with practical and actionable steps Key Features Kick-start your Android programming career, or just have fun publishing apps to the Google Play marketplace A first-principles introduction to Java, via An...
Ebooka przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video zobaczysz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP4 (pliki spakowane w ZIP)
Szczegóły książki
- Tytuł oryginału:
- Learning Java by Building Android Games
- ISBN Ebooka:
- 978-17-888-3672-2, 9781788836722
- Data wydania ebooka:
-
2018-08-29
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@helion.pl.
- Język publikacji:
- angielski
- Rozmiar pliku Pdf:
- 7.7MB
- Rozmiar pliku ePub:
- 15.6MB
- Rozmiar pliku Mobi:
- 33.5MB
- Kategorie:
Gry » Programowanie gier
Programowanie » Inne - Programowanie
Programowanie mobilne
Spis treści książki
- Learning Java by Building Android Games - Second Edition
- Table of Contents
- Learning Java by Building Android Games Second Edition
- Why subscribe?
- PacktPub.com
- Contributors
- About the author
- About the reviewer
- Packt is Searching for Authors Like You
- Preface
- About the book
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Download the color images
- Conventions used
- Get in touch
- Reviews
- 1. Java, Android and Game Development
- Whats new in the second edition?
- Why Java, Android and Games?
- Java: The first stumbling block
- The games you will build
- Sub' Hunter
- Pong
- Bullet Hell
- Snake Clone
- Scrolling Shooter
- Open-World Platformer
- How Java and Android work
- Setting up Android Studio
- Final step
- Starting the first project: Sub' Hunter
- Extra step 1
- Extra step 2
- Android Studio and our project A very brief guided tour
- The Project panel
- The Editor window
- Locking the game to full-screen and landscape orientation
- Deploying the game so far
- Running the game on an Android emulator
- Running the game on a real device
- Summary
- 2. Java: First Contact
- Planning the Sub' Hunter game
- Actions flowchart/diagram
- Code comments
- Actions flowchart/diagram
- Mapping out our code using comments
- Planning the Sub' Hunter game
- Introduction to Java methods
- Overriding methods
- Structuring Sub' Hunter with methods
- Introduction to Object Oriented Programming
- Classes and Objects
- The important thing about OOP, Classes, and Objects
- Classes, objects, and instances
- Classes and Objects
- Final word on OOP, Classes, and Objects for now
- Using Java packages
- Adding classes by importing packages
- Linking up our methods
- Summary
- 3. Variables, Operators and Expressions
- Handling syntax and jargon
- Java Variables
- Different types of variables
- Primitive types
- Reference variables
- String references
- Array references
- Object/class references
- Different types of variables
- How to use variables
- Declaring variables
- Initializing variables
- Making variables useful with operators
- Most used operators in this book
- Casting
- Concatenation
- Most used operators in this book
- Declaring and Initializing the Sub' Hunter Variables
- Planning the variables
- Declaring the variables
- Handling different screen sizes and resolutions
- Handling different screen resolutions part 1: Initialising the variables
- Errors, warnings, and bugs
- Printing Debugging Information
- Testing the game
- Summary
- 4. Structuring Code with Java Methods
- Methods
- Methods revisited and explained further
- The method signature
- Modifier
- Return type
- A closer look at method names
- Parameters
- Doing things in the method body
- Methods revisited and explained further
- Method Overloading by Example
- Creating a new project
- Coding the method overloading mini-app
- Running the method overloading mini-app
- How it works
- Methods
- Scope: Methods and Variables
- Revisiting the code and methods we have used already
- Generating random numbers to deploy a sub
- The Random class and the nextInt method
- Adding Random based code to newGame
- The Random class and the nextInt method
- Testing the game
- Summary
- 5. The Android Canvas Class Drawing to the Screen
- Understanding the Canvas class
- Getting started drawing with Bitmap, Canvas, and ImageView
- Canvas and Bitmap
- Paint
- ImageView and Activity
- Canvas, Bitmap, Paint and ImageView quick summary
- Getting started drawing with Bitmap, Canvas, and ImageView
- Understanding the Canvas class
- Using the Canvas class
- Preparing the objects of classes
- Initializing the objects
- Setting the Activity content
- Canvas Demo app
- Creating a new project
- Coding the Canvas demo app
- Exploring the Bitmap initialization
- Coding the Canvas demo app
- Drawing on the screen
- Explaining Color.argb
- Creating a new project
- Android Coordinate system
- Plotting and drawing
- Drawing the Sub' Hunter graphics and text
- Preparing to draw
- Initializing a Canvas, Paint, ImageView, and Bitmap
- Drawing some grid lines
- Drawing the HUD
- Upgrading the printDebuggingText method
- Summary
- 6. Repeating Blocks of Code with Loops
- Decisions, decisions
- Keeping things tidy
- More operators
- Loops
- While loops
- Breaking out of a loop
- While loops
- Do while loops
- For loops
- Nested loops
- Using for loops to draw the Sub' Hunter grid
- Summary
- 7. Making Decisions with Java If, Else and Switch
- If they come over the bridge shoot them
- Else do this instead
- Switching to make decisions
- Switch example
- If they come over the bridge shoot them
- Combining different control flow blocks
- Continue...
- Making sense of the screen touches
- Coding the onTouchEvent method
- Final tasks
- Coding the takeShot method
- Explaining the takeShot method
- Coding the boom method
- Drawing the shot on the grid
- Running the game
- Summary
- 8. Object-Oriented Programming
- Basic Object-Oriented Programming
- Humans learn by doing
- Introducing OOP
- Encapsulation
- Inheritance
- Polymorphism
- Why we do it like this?
- Class recap
- Basic Object-Oriented Programming
- Looking at the code for a class
- Class implementation
- Declaring, initializing and using an object of the class
- Basic classes mini-app
- Creating your first class
- More things we can do with our first class
- Remember that encapsulation thing?
- Controlling class use with access modifiers
- Class access in a nutshell
- Controlling class use with access modifiers
- Controlling variable use with access modifiers
- Variable access summary
- Methods have access modifiers too
- Method access summary
- Accessing private variables with getters and setters
- Setting up our objects with constructors
- Using "this"
- Static methods
- Encapsulation and static methods mini-app
- OOP and inheritance
- Inheritance mini-app
- Polymorphism
- Abstract classes
- Interfaces
- Starting the Pong game
- Planning the Pong game
- Setting up the Pong project
- Summary
- 9. The Game Engine, Threads, and The Game Loop
- Coding the PongActivity class
- Coding the PongGame class
- Coding the PongGame class
- Adding the member variables
- Coding the PongGame constructor
- Coding the startNewGame method
- Coding the draw method
- Adding the printDebuggingText method
- Understanding the draw method and the SurfaceView class
- The game loop
- Threads
- Problems with threads
- Java try, catch exception handling
- Implementing the game loop with a thread
- Implementing Runnable and providing the run method
- Coding the thread
- Starting and stopping the thread
- Activity lifecycle
- A simplified explanation of the Android lifecycle
- Lifecycle phases: What we need to know
- Lifecycle phases: What we need to do
- Using the Activity lifecycle to start and stop the thread
- Coding the run method
- Running the game
- Summary
- 10. Coding the Bat and Ball
- The Ball Class
- Communicating with the game engine
- Representing rectangles and squares with RectF
- Coding the variables
- Coding the Ball constructor
- Coding the RectF getter method
- Coding the Ball update method
- Coding the Ball helper methods
- Coding a realistic-ish bounce
- Using the Ball class
- The Ball Class
- The Bat class
- Coding the Bat variables
- Coding the Bat constructor
- Coding the Bat helper methods
- Coding the Bat's update method
- Using the Bat Class
- Coding the Bat input handling
- Running the game
- Summary
- 11. Collisions, Sound Effects and Supporting Different Versions of Android
- Handling collisions
- Collision detection options
- Rectangle intersection
- Radius overlapping
- Crossing number algorithm
- Collision detection options
- Optimizations
- Multiple hitboxes
- Neighbour checking
- Handling collisions
- Best options for Pong
- The RectF intersects method
- Handling different versions of Android
- Detecting the current Android version
- The Soundpool class
- Initializing SoundPool the new way
- Java Method chaining explained
- Back to initializing SoundPool (the new way)
- Initializing SoundPool the old way
- Loading sound files into memory
- Playing a sound
- Stopping a sound
- Initializing SoundPool the new way
- Generating sound effects
- Adding sound to the Pong game
- Adding the sound variables
- Initializing the SoundPool
- Coding the collision detection and playing sounds
- The bat and the ball
- The four walls
- Playing the game
- Summary
- 12. Handling Lots of Data with Arrays
- Planning the project
- Starting the project
- Change the AndroidManifest.xml to lock in landscape and full-screen
- Creating the classes
- Reusing the Pong engine
- Coding the BulletHellActivity
- Coding the BulletHellGame class
- Coding the member variables
- Coding the BulletHellGame constructor
- Coding the BulletHellGame methods
- Coding draw and onTouchEvent
- Coding pause, resume, and printDebuggingText
- Testing the Bullet Hell engine
- Coding the Bullet class
- Spawning a bullet
- Java Arrays
- Arrays are objects
- Simple array example mini-app
- Getting dynamic with arrays
- Dynamic array example
- Entering the nth dimension with Arrays
- Multidimensional Array mini app
- Array out of bounds exceptions
- Spawning an array of bullets
- Running the game
- Summary
- 13. Bitmap Graphics and Measuring Time
- The Bob (player's) class
- Adding the Bob graphic to the project
- Coding the Bob class
- Using the Bob class
- Adding Bob to the collision detection
- Drawing Bob to the screen
- Adding the sound effects
- Activating Bob's teleport
- Coding the printDebuggingText method
- Coding the spawnBullet method (again)
- Coding the startGame method
- The Bob (player's) class
- Running the game
- Summary
- 14. The Stack, the Heap, and the Garbage Collector
- Managing and understanding memory
- Variables revisited
- The stack and the heap
- A quick break to throw out the trash
- Stack and Heap quick summary
- Variables revisited
- Managing and understanding memory
- Introduction to the Snake game
- Looking ahead to the Snake game
- Getting started with the Snake game
- Make full screen and landscape
- Adding some empty classes
- Coding SnakeActivity
- Adding the sound effects
- Coding the game engine
- Coding the members
- Coding the constructor
- Coding the newGame method
- Coding the run method
- Coding the updateRequired method
- Coding the update method
- Coding the draw method
- Coding onTouchEvent
- Coding pause and resume
- Running the game
- Summary
- 15. Android Localization -Hola!
- Making the snake game Spanish, English and German
- Adding Spanish support
- Adding German support
- Add the string resources
- Amending the code
- Making the snake game Spanish, English and German
- Run the game in German or Spanish
- Summary
- 16. Collections, Generics and Enumerations
- Adding the graphics
- Coding the apple
- The Apple constructor
- Using the apple
- Running the game
- Using Arrays in the snake game
- ArrayLists
- The enhanced for loop
- Arrays and ArrayLists are polymorphic
- Enumerations
- Summary
- 17. Manipulating Bitmaps and Coding the Snake class
- Rotating Bitmaps
- What is a Bitmap exactly
- The Matrix class
- Inverting the head to face left
- Rotating the head to face up and down
- Rotating Bitmaps
- Add the sound to the project
- Coding the Snake class
- Coding the constructor
- Coding the reset method
- Coding the move method
- Coding the detectDeath method
- Coding the checkDinner method
- Coding the draw method
- Coding the switchHeading method
- Using the snake class and finishing the game
- Running the completed game
- Summary
- 18. Introduction to Design Patterns and much more!
- Introducing the Scrolling Shooter project
- Game programming patterns and the structure of the Scrolling Shooter project
- Starting the project
- Editing the manifest
- Code the GameActivity class
- Getting started on the GameEngine class
- Controlling the game with a GameState class
- Passing GameState from GameEngine to other classes
- Communicating from GameState to GameEngine
- Giving partial access to a class using an interface
- Interface refresher
- What we will do to implement the interface solution
- 1. Coding the new interface
- 2. Implementing the interface
- 3. Passing a reference to the interface into the class that needs it
- Coding the GameState class
- Saving and loading the high score- forever
- 4. Pressing the "special button" - Calling the method of the interface
- Finishing off the GameState class
- Using the GameState class
- Building a sound engine
- Adding the sound files to the project
- Coding the SoundEngine class
- Using the SoundEngine class
- Testing the game so far
- Building a HUD class to display control buttons and text
- Coding the prepareControls method
- Coding the draw method of the HUD class
- Coding drawControls and getControls
- Building a Renderer class to handle the drawing
- Using the HUD and Renderer classes
- Running the game
- Summary
- 19. Listening with the Observer Pattern, Multitouch and Building a Particle System
- The Observer pattern
- The Observer pattern in the Scrolling Shooter project
- The Observer pattern
- Coding the Observer pattern in Scrolling Shooter
- Coding the Broadcaster interface
- Coding the InputObserver interface
- Making GameEngine a Broadcaster
- Coding a Multitouch UI controller and making it a listener
- Coding the required handleInput method
- Using the UIController
- Running the game
- Implementing a particle system explosion
- Coding the Particle class
- Coding the ParticleSystem class
- Adding a particle system to the game engine and drawing it with the Renderer
- Building a physics engine to get things moving
- Running the game
- Summary
- 20. More Patterns, a Scrolling Background and Building the Player's ship
- Meet the game objects
- Reminder of how all these objects will behave
- Meet the game objects
- The Entity-Component pattern
- Why lots of diverse object types are hard to manage
- The first coding nightmare
- Using a generic GameObject for better code structure
- Composition over inheritance
- The Simple Factory pattern
- At last some good news
- Summary so far
- The object specifications
- Coding the ObjectSpec parent class
- Coding all the specific object specifications
- AlienChaseSpec
- AlienDiverSpec
- AlienLaserSpec
- AlienPatrolSpec
- BackgroundSpec
- PlayerLaserSpec
- PlayerSpec
- Coding the component Interfaces
- GraphicsComponent
- InputComponent
- MovementComponent
- SpawnComponent
- Coding the player's and the background's empty component classes
- StdGraphicsComponent
- PlayerMovementComponent
- PlayerSpawnComponent
- PlayerInputComponent and the PlayerLaserSpawner interface
- LaserMovementComponent
- LaserSpawnComponent
- BackgroundGraphicsComponent
- BackgroundMovementComponent
- BackgroundSpawnComponent
- Every GameObject has a transform
- Every object is a GameObject
- Completing the player's and the background's components
- The player's components
- Completing the StdGraphicsComponent
- Completing the PlayerMovementComponent
- Completing the PlayerSpawnComponent
- Completing the PlayerInputComponent
- Completing the LaserMovementComponent
- Completing the LaserSpawnComponent
- The player's components
- Coding a scrolling background
- Completing the BackgroundGraphicsComponent
- Completing the BackgroundMovementComponent
- Completing the BackgroundSpawnComponent
- GameObject/Component reality check
- Building the GameObjectFactory
- Coding the Level class
- Putting everything together
- Updating GameEngine
- Updating PhysicsEngine
- Updating Renderer
- Running the game
- Summary
- 21. Completing the Scrolling Shooter Game
- Adding the alien's components
- AlienChaseMovementComponent
- Code AlienLaserSpawner
- Implement the Interface in GameEngine
- AlienChaseMovementComponent
- AlienDiverMovementComponent
- AlienHorizontalSpawnComponent
- AlienPatrolMovementComponent
- AlienVerticalSpawnComponent
- Adding the alien's components
- Spawning the Aliens
- Updating GameEngine
- Updating Level
- Updating GameObjectFactory
- Running the game
- Detecting collisions
- Running the completed game
- Summary
- 22. Exploring More Patterns and Planning the Platformer Project
- Platform Game: Bob Was in A Hurry
- How we will build the platformer
- Level design files example
- The graphics
- Cameras and the real world
- The slightly modified ObjectSpec
- New improved transform hierarchy
- Project patterns
- BitmapStore
- Levels and LevelManager
- Getting started with Bob was in a hurry
- Creating the project and adding the assets
- Specifying all the game objects with GameObjectSpec classes
- GameObjectSpec
- BackgroundCitySpec
- BackgroundMountainSpec
- BackgroundUndergroundSpec
- BrickTileSpec
- CartTileSpec
- CoalTileSpec
- CollectibleObjectSpec
- ConcreteTileSpec
- DeadTreeTileSpec
- FireTileSpec
- GrassTileSpec
- LamppostTileSpec
- MoveablePlatformSpec
- ObjectiveTileSpec
- PlayerSpec
- ScorchedTileSpec
- SnowTileSpec
- SnowyTreeTileSpec
- StalactiteTileSpec
- StalagmiteTileSpec
- StonePileTileSpec
- Summary of component classes
- Coding the component interfaces
- GraphicsComponent
- UpdateComponent
- Coding the other interfaces
- EngineController
- GameEngineBroadcaster
- InputObserver
- Summary
- 23. The Singleton Pattern, Java HashMap, Storing Bitmaps Efficiently and Designing Levels
- The Singleton pattern
- The Singleton code
- The Singleton pattern
- More Java Collections Meet Java Hashmap
- The memory problem and the BitmapStore
- Coding the BitmapStore class
- Coding the basic transform
- Coding the inanimate and decorative components
- DecorativeBlockUpdateComponent
- InanmiateBlockGraphicsComponent
- InanimateBlockUpdateComponent
- Create the levels
- Level
- LevelCity
- LevelMountains
- LevelUnderground
- Coding a stripped down GameObjectFactory
- Coding a slightly commented-out game object
- Coding the GameState
- Code the SoundEngine
- Coding the physics engine (without collision)
- Coding a Renderer
- Coding the camera
- Testing the formulas with hypothetical coordinates
- Coding the Hud
- Coding the UIController class
- Code the Activity
- Code the GameEngine
- Coding the LevelManager class
- Running the game
- Summary
- 24. Sprite-sheet animations, Controllable Player and Parallax Scrolling Backgrounds
- Animating sprite-sheets
- Coding the Animator
- Coding the player's components and transform
- PlayerTransform
- AnimatedGraphicsComponent
- PlayerInputComponent
- PlayerUpdateComponent
- Coding a parallax background
- Coding the BackgroundTransform
- Coding the BackgroundGraphicsComponent
- Coding the BackgroundUpdateComponent
- Updating the levelManager, GameObjectFactory and GameObject
- Running the game
- Summary
- 25. Intelligent Platforms and Advanced Collision Detection
- Coding the moving platform component class
- MoveableBlockUpdateComponent
- Coding the moving platform component class
- Update LevelManager and GameObjectFactory
- Running the game
- Coding the detectCollisions method: Part 1
- Explaining part 1
- Coding the detectCollisions method: Part 2
- Explaining part 2
- Running the game
- Summary
- 26. What next?
- Publishing
- Using the assets from the book
- Future learning
- My other channels
- Thanks
- Index
Packt Publishing - inne książki
-
Solve classic computer science problems from fundamental algorithms, such as sorting and searching, to modern algorithms in machine learning and cryptography
40 Algorithms Every Programmer Should Know - Second Edition 40 Algorithms Every Programmer Should Know - Second Edition
-
Use modern Python libraries such as pandas, NumPy, and scikit-learn and popular machine learning and deep learning methods to solve financial modeling problems
-
Get up to speed with Oracle's Autonomous Databases and implementation strategies for any workload or use case, including transactional, data warehousing, and non-relational databases
Oracle Autonomous Database in Enterprise Architecture Oracle Autonomous Database in Enterprise Architecture
-
Design, build, and deploy performant and maintainable web applications using Spring, Spring Boot, and Angular
-
Build CD pipelines following GitOps principles like declarative and immutable changes stored in version control, all continuously reconciled by Argo CD, and minimize the failure of deployments.
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
W przypadku usługi "Druk na żądanie" termin dostarczenia przesyłki może obejmować także czas potrzebny na dodruk (do 10 dni roboczych)
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.


Oceny i opinie klientów: Learning Java by Building Android Games John Horton (0)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.