summaryrefslogtreecommitdiffhomepage
path: root/deploy_template/CHEATSHEET.txt
diff options
context:
space:
mode:
author_Tradam <[email protected]>2021-12-16 19:22:26 -0500
committerGitHub <[email protected]>2021-12-16 19:22:26 -0500
commit5954b9beb4d4a3b4f248d72d1851195f030558a8 (patch)
treefecd8aa840a25afdb502915b0fdb4d03b7ed339a /deploy_template/CHEATSHEET.txt
parent2f845281f133849256b57bb08fd3e9ae57600784 (diff)
parenteaa29e72939f5edf61735ccbb73c36ee89369f65 (diff)
downloaddragonruby-game-toolkit-contrib-5954b9beb4d4a3b4f248d72d1851195f030558a8.tar.gz
dragonruby-game-toolkit-contrib-5954b9beb4d4a3b4f248d72d1851195f030558a8.zip
Merge branch 'DragonRuby:master' into masterHEADmaster
Diffstat (limited to 'deploy_template/CHEATSHEET.txt')
-rw-r--r--deploy_template/CHEATSHEET.txt232
1 files changed, 0 insertions, 232 deletions
diff --git a/deploy_template/CHEATSHEET.txt b/deploy_template/CHEATSHEET.txt
deleted file mode 100644
index e35f38f..0000000
--- a/deploy_template/CHEATSHEET.txt
+++ /dev/null
@@ -1,232 +0,0 @@
-# DragonRuby Game Toolkit Cheatsheet
-
-A detailed documentation listing is located at
-`mygame/documentation`. For real world sample usages of GTK's APIs,
-take a look at the `samples` directory. The sample apps are ordered by
-beginner to advanced. So look at them in order to get the most out of
-them.
-
-# Minimum Code for Game
-
-The minimum amount of code required for a game is a file named
-`mygame/main.rb` with the following:
-
-```ruby
-def tick args
- args.outputs.labels << [640, 360, "Hello World"]
-end
-```
-
-# Args: `args`
-
-All of GTK's functionality hangs off of `args`.
-
-## Args' Outputs: `args.outputs`
-
-All render `primitive`s are accessible under `args.outputs`.
-
-### Labels: `args.outputs.labels`
-
-`args.outputs.labels` is used to render labels.
-
-Labels are how you display text. This code will go directly inside of the `def tick args` method.
-
-- **Minimum Code**
-
-```ruby
-# X Y TEXT
-args.outputs.labels << [640, 360, "I am a black label."]
-```
-
-- **A Colored Label**
-
-```ruby
-# A colored label
-# X Y TEXT, RED GREEN BLUE ALPHA
-args.outputs.labels << [640, 360, "I am a redish label.", 255, 128, 128, 255]
-```
-
-- **Extended Capabilities**
-
-```ruby
-# A colored label
-# X Y TEXT SIZE ALIGNMENT RED GREEN BLUE ALPHA FONT FILE
-args.outputs.labels << [640, 360, "Hello world", 0, 1, 0, 0, 0, 255, "fonts/coolfont.ttf"]
-```
-
-A `SIZE` of `0` represents "default size". A negative value will decrease
-the label size. A positive value will increase the label's size.
-
-An `ALIGNMENT` of `0` represents "left aligned". `1` represents "center aligned". `2` represents "right aligned".
-
-- **Named Parameters/Additional Metadata**
-
-You can add additional metadata about your game within a label, which requires you to use a `Hash` instead.
-
-```ruby
-args.outputs.labels << {
- x: 200,
- y: 550,
- text: "dragonruby",
- size_enum: 2,
- alignment_enum: 1,
- r: 155,
- g: 50,
- b: 50,
- a: 255,
- font: "fonts/manaspc.ttf",
- # You can add any properties you like (this will be ignored/won't cause errors)
- game_data_one: "Something",
- game_data_two: {
- value_1: "value",
- value_2: "value two",
- a_number: 15
- }
-}
-```
-
-- **Getting The Size of a Piece of Text: `args.gtk.calcstringbox`**
-
-```ruby
-def tick args
- # local variable
- # TEXT SIZE_ENUM FONT
- text_size = args.gtk.args.calcstringbox("some string", 0, "font.ttf")
-
- # print size of a label to screen using Ruby's string formatting capabilities: #{}
- args.outputs.labels << [640, 360, "the label's size is: #{text_size.x}, #{text_size.y}, #{text_size.w}, #{text_size.h}"]
-end
-```
-
-### Sprites: `args.outputs.sprites`
-
-`args.outputs.sprites` is used to render sprites.
-
-All primitives in GTK have the same considerations as detailed in the Labels section.
-
-- **Minimum Code**
-
-```ruby
-# X Y WIDTH HEIGHT PATH
-args.outputs.sprites << [100, 100, 32, 64, "sprites/player.png"]
-```
-
-- **Extended Capabilities**
-
-```ruby
-args.outputs.sprites << [
- 100, # X
- 100, # Y
- 32, # W
- 64, # H
- "player.png", # PATH
- 0, # ANGLE
- 255, # ALPHA
- 0, # RED_SATURATION
- 255, # GREEN_SATURATION
- 0, # BLUE_SATURATION
- 0, # TILE_X
- 0, # TILE_Y
- 32, # TILE_W
- 32 # TILE_H
-]
-```
-
-- **Named Parameters/Additional Metadata**
-
-Here are all the properties for `sprites`:
-
-```ruby
-args.outputs.sprites << {
- x: 100,
- y: 100,
- w: 100,
- h: 100,
- path: "sprites/player.png",
- angle: 0,
- a, 255
- r: 255,
- g: 255,
- b: 255,
- tile_x: 0,
- tile_y: 0,
- tile_w: -1,
- tile_h: -1,
- flip_vertically: false,
- flip_horizontally: false,
- angle_anchor_x: 0.5,
- angle_anchor_y: 1.0
-}
-```
-
-### Sounds `args.outputs.sounds`
-
-Sounds that end `.wav` will play once:
-`args.outputs.sounds << 'something.wav'`.
-
-Sounds that end `.ogg` is considered background music and will loop:
-`args.outputs.sounds << 'background_music.ogg'`.
-
-If you want to play a `.ogg` once as if it were a sound effect, you can do:
-`args.gtk.queue_sound 'some-ogg.ogg'`
-
-## Args' State `args.state`
-
-`args.state` is where you can put all of your game state.
-
-- **Tick Count `args.state.tick_count`**
-
-GTK has a fixed time step of 60 frames per second. You can access the current `tick_count` using `args.state.tick_count`:
-
-```ruby
-def tick args
- # Render a label showing the current tick_count.
- args.outputs.labels << [360, 640, args.state.tick_count]
-end
-```
-
-- **Working With "Open" Game State**
-
-`args.state` is a "open" data structure that allows you to define
-properties of any structure. You don't need to define any kind of
-`class`.
-
-To initialize your game state, use the `||=` operator. Any value on
-the right side of `||=` will only be assigned `once`.
-
-To assign a value every frame, just use the `=` operator, but _make
-sure_ you've initalized a default value.
-
-```ruby
-def tick args
- # initialize your game state ONCE
- args.player.x ||= 0
- args.player.y ||= 0
- args.player.hp ||= 100
-
- # increment the x position of the character by one every frame
- args.player.x += 1
-
- # Render a sprite with a label above the sprite
-
- # X Y W H PATH
- args.outputs.sprites << [args.player.x, args.player.y, 32, 32 "player.png"]
-
- # X Y TEXT
- args.outputs.labels << [args.player.x, args.player.y - 50, args.player.hp]
-end
-```
-
-## Args' Inputs: `args.inputs`
-
-# Numeric
-
-## Numeric#elapsed?
-
-Returns true if a numeric value plus an offset represents a point
-in time that has elapsed. This is related to args.state.tick_count.
-
-```
-args.state.attacked_at ||= args.state.tick_count
-puts args.state.attacked_at.elapsed? 60 # will print false after one second.
-```