Giter VIP home page Giter VIP logo

quick_flap's Introduction

quick_flap

To create a local copy of the project with the non-completed version,
run the commands below (in any folder you choose):

git clone https://github.com/Ivan-Tigan/quick_flap.git
cd quick_flap
git checkout start
  1. Open Godot.
  2. Click Scan.
  3. Find the folder quick_flap where you cloned the project and select it.
  4. Click Select Current Folder.
  5. An entry called quick_flap should now appear -- double click to open it.

Godot Quick Guide - major features of the engine

Editor

There are 4 main windows. Each window gives access to a few tabs. Each tab provides some functionality.

  • top left:
    • Scene - tree hierarchy of all nodes in the currently opened scene. (in Godot each Node can be opened as a Scene and each Scene can be used as a Node)
    • Import - file import settings; the most important ones are:
      • *.png - filter - disable this for pixel art to prevent blurriness
      • *.wav:
        • trim - remove unnecessary silence at beginning or end of audio file
        • loop - looping soundtracks
  • middle:
    • 2D/3D - visualization of the currently opened scene; notice the blue rectangle outline that shows the limits of the screen when the game is played
    • script - write code here
  • top right:
    • Inspector - all properties of the currently selected node; each one can be animated or accessed/modified through code by the name you see here.
    • Node -
      • Signals - events that you can connect to a function in your code (Timer node has timeout signal which will call any connected function when the Timer times out)
      • Groups - tags, useful for checking whether a node belongs to some group (has some tag) or to get all nodes from a group (all nodes with some tag)
  • bottom left - folders and files
  • bottom middle - submenus for different tools, such as debug output, spritesheet editing/selection, audio channel manipulation, animation, etc.

Nodes

A Node is a Scene and a Scene is a Node. Every Node can be edited as a Scene and every Scene can be instanced inside another Node/Scene as a Node. Predefined Nodes come with some very useful predefined functionality.

  • Control - UI related nodes
    • Button
    • Label - display text
  • Node2D - 2D game nodes
    • Sprite - 2D image
    • KinematicBody2D - 2d node with sophisticated movement logic via move_and_slide(...) function - this is what you use when you want something to move.Requires Area2D for collisions.
    • Area2D - Node that can detect overlaps with other Area2D nodes. Use area_entered signals. Requires CollisionShape2D to define its shape.
    • CollisionShape2D - define the shape of Area2D. Usually circle/capsule for player and rectangle for solids.
  • Spatial - like Node2D but for 3D
  • Other - Anything that does not fit into above categories. Usually provide some utility.
    • Timer - can run function every n seconds via the timeout signal
    • AnimationPlayer - can define animations that animate any property of any node over time and can be controlled through code.
    • AudioStreamPlayer (NOT AudioStreamPlayer2D) - plays a sound; for sound effects pick AudioStreamRandomPitch for Stream in the Inspector

Navigation

  • Q - select
  • W - move selection
  • E - rotate
  • S - scale

Settings (top left)

  • Project:
    • Project Settings:
      • General:
        • Window:
          • set resolution here
          • Mode - set to 2D
          • Aspect - set to keep
          • Last 2 make resolution work perfectly regardless of how screen is scaled and on what monitor. Try with and without them.
        • Node:
          • Name Casing - I recommend you set this to snake_case but you can do whatever you prefer
      • Input Map
        • define input actions here and bind them to one or more keys/buttons/mouse/joystick whatever. Left mouse button is also touch for touchscreen.
    • Export:
      • you might need to download templates if you see red text, just click the link and then click the first option and it will do it for you
      • export by pressing Export Project and NOT Export PCK/Zip
      • for HTML5 remember to save your file as index.html instead of say flappy.html
      • for other platforms you can name the file however you wish.

Other

  • When creating a new project pick GLES2 for HTML5. This means that you can the only use CPUParticles2D instead of Particles2D (not a big deal for most cases)

quick_flap's People

Contributors

ivan-tigan avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.