Game Programming Using Qt 5 Beginner's Guide Second Edition Lorenz Haas
User Manual:
Open the PDF directly: View PDF
Page Count: 1171 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- Title Page
- Copyright and Credits
- Dedication
- Packt Upsell
- Contributors
- Preface
- Introduction to Qt
- Installation
- Qt GUI Programming
- Creating GUI in Qt
- Layouts
- Signals and slots
- Creating a widget for the tic-tac-toe board
- Advanced form editor usage
- Polishing the application
- Pop quiz
- Summary
- Custom 2D Graphics with Graphics View
- Graphics View architecture
- Coordinate systems
- Overview of functionality
- Custom items
- Time for action – Creating a sine graph project
- Time for action – Creating a graphics item class
- Events
- Time for action – Implementing the ability to scale the scene
- Time for action – Taking the zoom level into account
- Time for action – Reacting to an item's selection state
- Time for action – Event handling in a custom item
- Time for action – Implementing the ability to create and delete elements with mouse
- Time for action – Changing the item's size
- Have a go hero – Extending the item's functionality
- Widgets inside Graphics View
- Optimization
- Pop quiz
- Summary
- Animations in Graphics View
- Qt Core Essentials
- Text handling
- Containers
- Data storage
- Pop quiz
- Summary
- Networking
- QNetworkAccessManager
- Setting up a local HTTP server
- Preparing a URL for testing
- Time for action – Downloading a file
- Have a go hero – Extending the basic file downloader
- Single network manager per application
- Time for action – Displaying a proper error message
- Downloading files over FTP
- Downloading files in parallel
- The finished signal
- Time for action – Writing the OOP conform code using QSignalMapper
- The error signal
- The readyRead signal
- Time for action – Showing the download progress
- Using a proxy
- Connecting to Google, Facebook, Twitter, and co.
- Controlling the connectivity state
- Communicating between games
- Time for action – Realizing a simple chat program
- The server – QTcpServer
- Time for action – Setting up the server
- What just happened?
- Time for action – Reacting on a new pending connection
- What just happened?
- Time for action – Forwarding a new message
- Have a go hero – Using QSignalMapper
- Time for action – Detecting a disconnect
- What just happened?
- The client
- Synchronous network operations
- Using UDP
- Pop quiz
- Summary
- QNetworkAccessManager
- Custom Widgets
- Raster and vector graphics
- Raster painting
- Creating a custom widget
- Working with images
- Painting text
- Optimizing widget painting
- Implementing a chess game
- Time for action – Developing the game architecture
- Time for action – Implementing the game board class
- Time for action – Understanding the ChessView class
- Time for action – Rendering the pieces
- Time for action – Making the chess game interactive
- Time for action – Connecting the game algorithm
- Have a go hero – Implementing the UI around the chess board
- Have a go hero – Connecting a UCI-compliant chess engine
- Pop quiz
- Summary
- OpenGL and Vulkan in Qt applications
- Scripting
- Why script?
- Evaluating JavaScript expressions
- Exposing C++ objects and functions to JavaScript code
- Accessing C++ object's properties and methods
- Data type conversions between C++ and JavaScript
- Accessing signals and slots in scripts
- Time for action – Using a button from JavaScript
- Restricting access to C++ classes from JavaScript
- Creating C++ objects from JavaScript
- Exposing C++ functions to JavaScript
- Creating a JavaScript scripting game
- Python scripting
- Pop quiz
- Summary
- Introduction to Qt Quick
- Declarative UI programming
- Time for action – Creating the first project
- Time for action – Editing QML
- Property groups
- Anchors
- Time for action – Positioning items relative to each other
- QML types, components, and documents
- How does it work?
- Time for action – Property binding
- A limitation of automatic property updates
- Overview of QML types provided by Qt
- Qt Quick Designer
- Time for action – Adding a form to the project
- Form editor files
- Form editor interface
- Time for action – Adding an import
- Time for action – Adding items to the form
- Time for action – Editing anchors
- Time for action – Applying layouts to the items
- Time for action – Assigning an expression to the property
- Time for action – Exposing items as properties
- Time for action – Creating an event handler
- Qt Quick and C++
- Bringing life into static user interfaces
- Pop quiz
- Summary
- Declarative UI programming
- Customization in Qt Quick
- Creating a custom QML component
- Event handlers
- Time for action – Making the button clickable
- Time for action – Visualizing button states
- Time for action – Notifying the environment about button states
- Touch input
- Time for action – Dragging an item around
- Time for action – Rotating and scaling a picture by pinching
- Keyboard input
- Text input fields
- Gamepad input
- Sensor input
- Detecting device location
- Creating advanced QML components
- Dynamic and lazy loading of QML objects
- Imperative painting on Canvas using JavaScript
- Using C++ classes as QML components
- Pop quiz
- Summary
- Animations in Qt Quick Games
- Animation framework in Qt Quick
- Generic animations
- Time for action – Scene for an action game
- Time for action – Animating the sun's horizontal movement
- Composing animations
- Time for action – Making the sun rise and set
- Non-linear animations
- Time for action – Improving the path of the sun
- Property value sources
- Time for action – Adjusting the sun's color
- Time for action – Furnishing sun animation
- Behaviors
- Time for action – Animating the car dashboard
- States
- Transitions
- More animation types
- Quick game programming
- Game loops
- Input processing
- Time for action – Character navigation
- Time for action – Another approach to character navigation
- Time for action – Generating coins
- Sprite animation
- Time for action – Implementing simple character animation
- Time for action – Animating characters using sprites
- Time for action – Adding jumping with sprite transitions
- Time for action – Revisiting parallax scrolling
- Collision detection
- Time for action – Collecting coins
- Have a go hero – Extending the game
- Pop quiz
- Summary
- Animation framework in Qt Quick
- Advanced Visual Effects in Qt Quick
- 3D Graphics with Qt
- Pop quiz answers
- Other Books You May Enjoy