diff options
author | David Thompson <dthompson2@worcester.edu> | 2021-10-07 20:17:50 -0400 |
---|---|---|
committer | David Thompson <dthompson2@worcester.edu> | 2021-10-07 20:17:50 -0400 |
commit | 0e699be281c8dea53e589e08a5831837e0eae7ea (patch) | |
tree | 4266aebec927b13ca56410be1901e3ee78dff49e /manuals/chickadee/Invoking-chickadee-play.html | |
parent | 38daa330f2194de5f39cd41b270c89d7b2e94427 (diff) |
Updates for Chickadee 0.8.0 and Guile-SDL2 0.7.0.
Diffstat (limited to 'manuals/chickadee/Invoking-chickadee-play.html')
-rw-r--r-- | manuals/chickadee/Invoking-chickadee-play.html | 198 |
1 files changed, 198 insertions, 0 deletions
diff --git a/manuals/chickadee/Invoking-chickadee-play.html b/manuals/chickadee/Invoking-chickadee-play.html new file mode 100644 index 0000000..0c9c065 --- /dev/null +++ b/manuals/chickadee/Invoking-chickadee-play.html @@ -0,0 +1,198 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 2017-2021 David Thompson davet@gnu.org + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 +or any later version published by the Free Software Foundation; +with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +A copy of the license is included in the section entitled "GNU +Free Documentation License". + +A copy of the license is also available from the Free Software +Foundation Web site at http://www.gnu.org/licenses/fdl.html. + + +* Chickadee: (chickadee). Game programming toolkit for Guile. + +The document was typeset with +http://www.texinfo.org/ (GNU Texinfo). + --> +<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>Invoking chickadee play (The Chickadee Game Toolkit)</title> + +<meta name="description" content="Invoking chickadee play (The Chickadee Game Toolkit)"> +<meta name="keywords" content="Invoking chickadee play (The Chickadee Game Toolkit)"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<link href="index.html" rel="start" title="Top"> +<link href="Index.html" rel="index" title="Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Command-Line-Interface.html" rel="up" title="Command Line Interface"> +<link href="Invoking-chickadee-bundle.html" rel="next" title="Invoking chickadee bundle"> +<link href="Command-Line-Interface.html" rel="prev" title="Command Line Interface"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.indentedblock {margin-right: 0em} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +kbd {font-style: oblique} +pre.display {font-family: inherit} +pre.format {font-family: inherit} +pre.menu-comment {font-family: serif} +pre.menu-preformatted {font-family: serif} +span.nolinebreak {white-space: nowrap} +span.roman {font-family: initial; font-weight: normal} +span.sansserif {font-family: sans-serif; font-weight: normal} +ul.no-bullet {list-style: none} +@media (min-width: 1140px) { + body { + margin-left: 14rem; + margin-right: 4rem; + max-width: 52rem; + } +} + +@media (min-width: 800px) and (max-width: 1140px) { + body { + margin-left: 6rem; + margin-right: 4rem; + max-width: 52rem; + } +} + +@media (max-width: 800px) { + body { + margin: 1rem; + } +} + +--> +</style> +<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> + + +</head> + +<body lang="en"> +<span id="Invoking-chickadee-play"></span><div class="header"> +<p> +Next: <a href="Invoking-chickadee-bundle.html" accesskey="n" rel="next">Invoking chickadee bundle</a>, Up: <a href="Command-Line-Interface.html" accesskey="u" rel="up">Command Line Interface</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> +</div> +<hr> +<span id="Invoking-chickadee-play-1"></span><h3 class="section">3.1 Invoking <code>chickadee play</code></h3> + +<p>The <code>chickadee play</code> command is used to open a window and run +the Chickadee game contained within a Scheme source file. +</p> +<div class="example"> +<pre class="example">chickadee play the-legend-of-emacs.scm +</pre></div> + +<p>In this file, special procedures may be defined to handle various +events from the game loop: +</p> +<ul> +<li> load-game +</li><li> quit-game +</li><li> draw +</li><li> update +</li><li> key-press +</li><li> key-release +</li><li> text-input +</li><li> mouse-press +</li><li> mouse-release +</li><li> mouse-move +</li><li> mouse-wheel +</li><li> controller-add +</li><li> controller-remove +</li><li> controller-press +</li><li> controller-release +</li><li> controller-move +</li></ul> + +<p>See <a href="The-Game-Loop.html">The Game Loop</a> for complete information on all of these +hooks, such as the arguments that each procedure receives. +</p> +<p>In additional to evaluating the specified source file, the directory +containing that file is added to Guile’s load path so that games can +easily be divided into many different files. Furthermore, that +directory is entered prior to evaluating the file so that data files +(images, sounds, etc.) can be loaded relative to the main source file, +regardless of what the current directory was when <code>chickadee +play</code> was invoked. +</p> +<p>Many aspects of the initial game window and environment can be +controlled via the following options: +</p> +<dl compact="compact"> +<dt><code>--title=<var>title</var></code></dt> +<dt><code>-t <var>title</var></code></dt> +<dd> +<p>Set the window title to <var>title</var>. +</p> +</dd> +<dt><code>--width=<var>width</var></code></dt> +<dt><code>-w <var>width</var></code></dt> +<dd> +<p>Set the window width to <var>width</var> pixels. +</p> +</dd> +<dt><code>--height=<var>height</var></code></dt> +<dt><code>-h <var>height</var></code></dt> +<dd> +<p>Set the window height to <var>height</var> pixels. +</p> +</dd> +<dt><code>--fullscreen</code></dt> +<dt><code>-f</code></dt> +<dd> +<p>Open window in fullscreen mode. +</p> +</dd> +<dt><code>--resizable</code></dt> +<dt><code>-r</code></dt> +<dd> +<p>Make window resizable. +</p> +</dd> +<dt><code>--update-hz=<var>n</var></code></dt> +<dt><code>-u <var>n</var></code></dt> +<dd> +<p>Update the game <var>n</var> times per second. +</p> +</dd> +<dt><code>--repl</code></dt> +<dd> +<p>Launch a REPL in the terminal. This will allow the game environment +to debugged and modified without having to stop and restart the game +after each change. +</p> +</dd> +<dt><code>--repl-server[=<var>port</var>]</code></dt> +<dd> +<p>Launch a REPL server on port <var>port</var>, or 37146 by default. +</p> +<p><code>telnet localhost 37146</code> (or whatever port number was given) +will do the trick, but using the <a href="https://www.nongnu.org/geiser/">Geiser</a> extension for Emacs is by far the best way to develop at the +REPL with Guile. Use <code>M-x connect-to-guile</code> to connect to the +REPL server. +</p> +</dd> +</dl> + +<hr> +<div class="header"> +<p> +Next: <a href="Invoking-chickadee-bundle.html" accesskey="n" rel="next">Invoking chickadee bundle</a>, Up: <a href="Command-Line-Interface.html" accesskey="u" rel="up">Command Line Interface</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> +</div> + + + +</body> +</html> |