Kivy Blueprints
eBook - ePub

Kivy Blueprints

Mark Vasilkov

Share book
  1. 282 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Kivy Blueprints

Mark Vasilkov

Book details
Book preview
Table of contents
Citations

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Kivy Blueprints an online PDF/ePUB?
Yes, you can access Kivy Blueprints by Mark Vasilkov in PDF and/or ePUB format, as well as other popular books in Informatica & Programmazione in Python. We have over one million books available in our catalogue for you to explore.

Information

Year
2015
ISBN
9781783987849

Kivy Blueprints


Table of Contents

Kivy Blueprints
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Preface
Write once, run anywhere
What this book covers
Setting up the working environment
A note on Python
Installing and running Kivy
Note on coding
Hello, Kivy
Code
Layout
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
1. Building a Clock App
The starting point
Modern UI
Design inspiration
Loading custom fonts
Formatting text
Changing the background color
Making the clock tick
Updating the time on the screen
Binding widgets using properties
Layout basics
Finalizing the layout
Reducing repetition
Named classes
Styling buttons
9-patch scaling
Using 9-patch images
Counting time
Formatting the time for stopwatch
Computing values
Putting a stopwatch in place
Stopwatch controls
Summary
2. Building a Paint App
Setting the stage
Fine-tuning the looks
Visual appearance
Window size
Mouse cursor
Multitouch emulation
Drawing touches
A very short introduction to the canvas
Displaying touches on the screen
Clearing the screen
Passing events
Clearing the canvas
Connecting the dots
The color palette
Subclassing the buttons
Taking away the ability to deselect
Overriding the standard behavior
Coloring buttons
A new kind of button
Defining the palette
Setting the line thickness
Changing the line width
Summary
3. Sound Recorder for Android
Writing platform-dependent code
Introducing Pyjnius
Emulating Android
Metro UI
The buttons
The grid structure
Visual attributes
Scalable vector icons
Icon fonts
Rationale for using icon fonts
Using the icon font in Kivy
Testing on Android
Using the native API
Loading Java classes
Looking up the storage path
Reading logs from the device
Recording sound
Major caveat – permissions
Playing sound
Deleting files
Summary
4. Kivy Networking
Writing the chat server
The protocol definition
The server source code
The principle of operation
Testing the server
Screen manager
Customizing the animation
Login screen layout
Chatroom screen layout
Overscroll modes
Bringing the app online
Building a simple Python client
Kivy integration with Twisted
ChatClient and ChatClientFactory
UI integration
Application logic of the client
Cross-application interoperability
Enhancements and eye candy
Escaping the special syntax
What's next
Summary
5. Making a Remote Desktop App
The server
The Flask web server
Advanced server functionality – taking screenshots
Emulating clicks
JavaScript client
Endless loop of screenshots
Passing clicks to host
Kivy Remote Desktop app
The login form
The remote desktop screen
Loop of screenshots in Kivy
Sending clicks
What's next
Summary
6. Making the 2048 Game
About the game
Gameplay concepts and overview
Randomness, or lack thereof
The 2048 project outline
What makes 2048 a good choice of project?
Simplicity as a feature
Creating the 2048 board
Going through cells
Rendering empty cells
Board data structure
Variable naming
Calling reset()
Testing passability
Making tiles
Tile initialization
Resizing tiles
Implementing the game logic
Moving tiles
Controlling the iteration sequence
Implementing the move() method
Binding touch controls
Combining tiles
Adding more tiles
Synchronizing turns
Game over
The winning condition
The loss condition
Where to go from here
Summary
7. Writing a Flappy Bird Clone
Project overview
Creating an animated background
Loading tileable textures
The Background widget
Animating the background
Making pipes
An overview of the pipe properties
Setting texture coordinates
Implementing pipes
Spawning pipes
Moving and recycling pipes
Introducing Kivy Bird
Revised application flow
Accepting user input
Learning to fly straight down
Remaining in flight
Rotating the bird
Collision detection
Game over
Producing sound effects
Kivy sound playback
Adding sound to the Kivy Bird game
Summary
8. Introducing Shaders
Unscientific introduction to OpenGL
Concepts and parallelism
Performance gains, or lack thereof
Improving performance
Taking a closer look at GLSL
Using custom shaders in Kivy
Building the geometry
Illustrating the Indices
Writing GLSL
Storage classes and types
Basic shaders
Procedural coloring
Colorful vertices
Texture mapping
Making the Starfield app
Application structure
Data structures and initializers
Advancing the scene
Writing a corresponding GLSL
Summary
9. Making a Shoot-Em-Up Game
Limitations of the project
Texture atlases at a glance
Creating an atlas
Atlas structure
Using Kivy atlases in an easy way
Ad hoc usage of atlases with GLSL
Data structure for UV mapping
Writing an atlas loader
Rendering sprites from atlas
Designing a reusable particle system
Class hierarchy
The PSWidget renderer class
The Particle class
Writing the game
Implementing stars
Making a spaceship
Creating a trail of fire
Making bullets
Implementing enemies
Collision detection
Finishing touches
Summary
A. The Python Ecosystem
Index

Kivy Blueprints

Copyright © 2015 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: January 2015
Production reference: 1230115
Published by Packt Publishing Ltd.
Livery Place
35 Livery...

Table of contents