The stage¶
Your project must have a class
for the stage, which must be derived
from the pytch.Stage
class. For example,
class Stage(pytch.Stage):
# Code for your stage goes here
Methods and properties available on the Stage¶
Your own version of the Stage can use the following methods, which are provided by Pytch:
- self.start_sound(sound_name_or_index)
- self.play_sound_until_done(sound_name_or_index)
These methods work in the same way as the ones provided by the
Sprite
class. See the help in the Sprite page for details. The givensound_name_or_index
must refer to a Sound you have defined — see Defining sounds.
- self.switch_backdrop(backdrop_name)¶
Make the Stage change its backdrop to the one with the given
backdrop_name
. This must be the label of a Backdrop defined by the class’sBackdrops
variable — see Defining backdrops.
- self.switch_backdrop(backdrop_number)
Make the Stage change its backdrop to the one at the given position in its list of Backdrops. Zero-based indexing is used, which means that to switch to the first backdrop, use
self.switch_backdrop(0)
; to switch to the second backdrop, useself.switch_backdrop(1)
; and so on.
- self.next_backdrop()¶
Switch to the next backdrop in the Stage’s list of backdrops. If the Stage is already showing its last backdrop, switch to showing the first one.
- self.next_backdrop(n_steps)
Switch to the backdrop
n_steps
later in the Stage’s list of backdrops. If this takes you beyond the end of the list, wrap back round to the start as if in a circle. You can use a negative number asn_steps
to move to an earlier backdrop; for example,self.next_backdrop(-1)
will change to the previous backdrop.
- self.backdrop_number¶
The zero-based number of the currently-shown backdrop. So if the Stage is currently showing its first backdrop,
backdrop_number
will be 0; if it’s currently showing its second backdrop,backdrop_number
will be 1; and so on.
- self.backdrop_name¶
The name of the currently-shown backdrop.
Asking the user a question¶
Pytch has a method matching Scratch’s ask and wait block. In
Scratch, you can find what the user typed using the answer reporter
block. In Pytch, the user’s answer is returned to your program from
the ask_and_wait()
method.
- self.ask_and_wait(question)
Pop up an input box asking the question, and wait for the user to type in their answer. Your method is paused while the user is typing their answer, and will continue once the user submits their answer. The answer is returned, so you will usually assign it to a variable. For example, this code assigns the user’s answer to a variable
name
and then prints out a greeting:class NightSky(pytch.Stage): # [ ... Backdrops, Sounds, other methods, etc. ... ] @pytch.when_stage_clicked def ask_user_their_name(self): name = self.ask_and_wait("What's your name?") print(f"Hello, {name}!")
The greeting will appear in the “Output” tab of the Pytch IDE.