Kivy Blueprints
eBook - ePub

Kivy Blueprints

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

Kivy Blueprints

Trusted by 375,005 students

Access to over 1 million titles for a fair monthly price.

Study more efficiently using our study tools.

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

  1. Kivy Blueprints

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn how to download books offline
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
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 990+ topics, we’ve got you covered! Learn about our mission
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 about Read Aloud
Yes! You can use the Perlego app on both iOS and Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app
Yes, you can access Kivy Blueprints by Mark Vasilkov in PDF and/or ePUB format, as well as other popular books in Computer Science & Open Source Programming. We have over one million books available in our catalogue for you to explore.