diff --git a/dodge_the_creeps_2d_assets/README.md b/dodge_the_creeps_2d_assets/README.md new file mode 100644 index 0000000..b233069 --- /dev/null +++ b/dodge_the_creeps_2d_assets/README.md @@ -0,0 +1,5 @@ +# Dodge the Creeps 2D assets + +Used by the "Your first 2D game" tutorial: + +https://docs.godotengine.org/en/latest/getting_started/first_2d_game/index.html diff --git a/dodge_the_creeps_2d_assets/art/House In a Forest Loop.ogg b/dodge_the_creeps_2d_assets/art/House In a Forest Loop.ogg new file mode 100644 index 0000000..ece3640 Binary files /dev/null and b/dodge_the_creeps_2d_assets/art/House In a Forest Loop.ogg differ diff --git a/dodge_the_creeps_2d_assets/art/enemyFlyingAlt_1.png b/dodge_the_creeps_2d_assets/art/enemyFlyingAlt_1.png new file mode 100644 index 0000000..1ef132f Binary files /dev/null and b/dodge_the_creeps_2d_assets/art/enemyFlyingAlt_1.png differ diff --git a/dodge_the_creeps_2d_assets/art/enemyFlyingAlt_2.png b/dodge_the_creeps_2d_assets/art/enemyFlyingAlt_2.png new file mode 100644 index 0000000..a50f70a Binary files /dev/null and b/dodge_the_creeps_2d_assets/art/enemyFlyingAlt_2.png differ diff --git a/dodge_the_creeps_2d_assets/art/enemySwimming_1.png b/dodge_the_creeps_2d_assets/art/enemySwimming_1.png new file mode 100644 index 0000000..9a79114 Binary files /dev/null and b/dodge_the_creeps_2d_assets/art/enemySwimming_1.png differ diff --git a/dodge_the_creeps_2d_assets/art/enemySwimming_2.png b/dodge_the_creeps_2d_assets/art/enemySwimming_2.png new file mode 100644 index 0000000..f81aade Binary files /dev/null and b/dodge_the_creeps_2d_assets/art/enemySwimming_2.png differ diff --git a/dodge_the_creeps_2d_assets/art/enemyWalking_1.png b/dodge_the_creeps_2d_assets/art/enemyWalking_1.png new file mode 100644 index 0000000..9ad7aab Binary files /dev/null and b/dodge_the_creeps_2d_assets/art/enemyWalking_1.png differ diff --git a/dodge_the_creeps_2d_assets/art/enemyWalking_2.png b/dodge_the_creeps_2d_assets/art/enemyWalking_2.png new file mode 100644 index 0000000..c9e233e Binary files /dev/null and b/dodge_the_creeps_2d_assets/art/enemyWalking_2.png differ diff --git a/dodge_the_creeps_2d_assets/art/gameover.wav b/dodge_the_creeps_2d_assets/art/gameover.wav new file mode 100644 index 0000000..77f865a Binary files /dev/null and b/dodge_the_creeps_2d_assets/art/gameover.wav differ diff --git a/dodge_the_creeps_2d_assets/art/playerGrey_up1.png b/dodge_the_creeps_2d_assets/art/playerGrey_up1.png new file mode 100644 index 0000000..5596dbc Binary files /dev/null and b/dodge_the_creeps_2d_assets/art/playerGrey_up1.png differ diff --git a/dodge_the_creeps_2d_assets/art/playerGrey_up2.png b/dodge_the_creeps_2d_assets/art/playerGrey_up2.png new file mode 100644 index 0000000..07c63b8 Binary files /dev/null and b/dodge_the_creeps_2d_assets/art/playerGrey_up2.png differ diff --git a/dodge_the_creeps_2d_assets/art/playerGrey_walk1.png b/dodge_the_creeps_2d_assets/art/playerGrey_walk1.png new file mode 100644 index 0000000..6145887 Binary files /dev/null and b/dodge_the_creeps_2d_assets/art/playerGrey_walk1.png differ diff --git a/dodge_the_creeps_2d_assets/art/playerGrey_walk2.png b/dodge_the_creeps_2d_assets/art/playerGrey_walk2.png new file mode 100644 index 0000000..3a699a9 Binary files /dev/null and b/dodge_the_creeps_2d_assets/art/playerGrey_walk2.png differ diff --git a/dodge_the_creeps_2d_assets/fonts/FONTLOG.txt b/dodge_the_creeps_2d_assets/fonts/FONTLOG.txt new file mode 100644 index 0000000..826c7d8 --- /dev/null +++ b/dodge_the_creeps_2d_assets/fonts/FONTLOG.txt @@ -0,0 +1,253 @@ +Please distribute this file along with the Xolonium fonts when possible. + + +Source + + Find the sourcefiles of Xolonium at + + + +Credits + + Xolonium is created with FontForge , + Inkscape , Python , and + FontTools . + + It originated as a custom font for the open-source + game Xonotic . With many thanks to the + Xonotic community for your support. + + +Supported OpenType features + + case Provides case sensitive placement of punctuation, + brackets, and math symbols for uppercase text. + frac Replaces number/number sequences with diagonal fractions. + Numbers that touch a slash should not exceed 10 digits. + kern Provides kerning for Latin, Greek, and Cyrillic scripts. + locl Dutch: Replaces j with a stressed version if it follows í. + Sami: Replaces n-form Eng with the preferred N-form version. + Romanian and Moldovan: Replaces ŞşŢţ with the preferred ȘșȚț. + pnum Replaces monospaced digits with proportional versions. + sinf Replaces digits with scientific inferiors below the baseline. + subs Replaces digits with subscript versions on the baseline. + sups Replaces digits with superscript versions. + zero Replaces zero with a slashed version. + + +Supported glyph sets + + Adobe Latin 3 + OpenType W1G + ISO 8859-1 Western European + ISO 8859-2 Central European + ISO 8859-3 South European + ISO 8859-4 North European + ISO 8859-5 Cyrillic + ISO 8859-7 Greek + ISO 8859-9 Turkish + ISO 8859-10 Nordic + ISO 8859-13 Baltic Rim + ISO 8859-14 Celtic + ISO 8859-15 Western European + ISO 8859-16 South-Eastern European + + +Available glyphs + + !"#$%&'()*+,-./0123456789:;<=>? + @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ + `abcdefghijklmnopqrstuvwxyz{|}~ + +  ¡¢£¤¥¦§¨©ª«¬ ®¯°±²³´µ¶·¸¹º»¼½¾¿ + ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞß + àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ + ĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğ + ĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľ + ĿŀŁłŃńŅņŇňŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞş + ŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽž + ƒǺǻǼǽǾǿȘșȚțȷ + + ˆˇˉ˘˙˚˛˜˝ + + ͺ;΄΅Ά·ΈΉΊΌΎΏΐ + ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫάέήίΰ + αβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ + + ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛМНОП + РСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп + рстуфхцчшщъыьэюяѐёђѓєѕіїјљњћќѝўџ + ѢѣѲѳѴѵҐґҒғҔҕҖҗҘҙҚқҜҝҞҟҠҡҢңҤҥҦҧҨҩ + ҪҫҬҭҮүҰұҲҳҴҵҶҷҸҹҺһҼҽӀӁӂӇӈӋӌӏӐӑӒӓ + ӔӕӖӗӘәӜӝӞӟӠӡӢӣӤӥӦӧӨөӮӯӰӱӲӳӴӵӶӷӸӹ + Ԥԥ + + ḂḃḊḋḞḟṀṁṖṗṠṡṪṫẀẁẂẃẄẅẞỲỳ + +      ‒–—―‘’‚‛“”„‟†‡•…‰′″‹›‽‾⁄ + ⁰⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿ₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎ + ₤₦₩₫€₯₱₹₺₽₿ + ℅ℓ№℗™Ω℮ + ⅛⅜⅝⅞ + ←↑→↓ + ∂∆∏∑−∕∙√∞∟∫≈≠≤≥ + ⌖ + ■▬▮▰▲▶▼◀◆◊●◢◣◤◥ + ☄★☠☢☣⚙⚛⚠⚡⛔ + ❇❈❌❤❰❱❲❳ + fffiflffiffl + 🌌🌍🌎🌏👽💣🔥🔫 + 😁😃😄😆😇😈😉😊😎😐😒😕😘 + 😛😝😞😟😠😣😭😮😲😴😵 + 🚀 + + +Debugging glyphs + +  U+EFFD Font version +  U+F000 Font hinting indicator + + +Changelog + + Xolonium 4.1 2016-11-22 Severin Meyer + Reverted frac OpenType feature to a more stable implementation + + Xolonium 4.0 2016-10-08 Severin Meyer + Decreased width of most glyphs + Thinner vertical stems in Xolonium-Regular + Thicker horizontal stems in Xolonium-Bold + Revised diagonal stems + Lowered middle bars + Revised diacritical bars + Added glyphs: + ӏẞ₿ + U+2007 U+2008 U+2009 U+200A U+202F + U+EFFD U+F000 + Revised glyphs: + $&,JKQRXkwxy~¢¤ßǻ˜ζκλμξφЖУжћѴѵ∕₱₺₦₩€ℓ№≈ffffiffl + ❤🌍🌎🌏😁😄😇😈😉😊😘😭😮😴🚀 + Removed uncommon glyphs: + ʼnſʼҌҍҎҏҾҿӃӄӇӈӚӛӪӫӬӭ + U+0312 U+0313 U+0326 + Simplified OpenType features pnum, zero, and case + Removed OpenType feature dlig + Revised vertical metrics + Merged outlines of composite glyphs in otf version + Added ttf version with custom outlines and instructions + Added woff and woff2 version + + Xolonium 3.1 2015-06-10 Severin Meyer + Added currency glyphs: + ₦₩₫₱₹₺₽ + Revised glyph: + ₯ + Relicensed public release under the SIL Open Font License 1.1 + + Xolonium 3.0 2015-05-04 Severin Meyer + Decreased width of glyphs + Decreased descender height + Increased height of super/subscript glyphs + Revised width of dashes, underscore, and overscore + Sharper bends with more circular proportions + Decreased stroke thickness of mathematical glyphs + Revised diacritical marks + Revised diacritical bars + Revised Cyrillic hooks + Revised glyphs: + GQRYjmuwßŊŒſƒǻfffiffiffl + ΞΨΩδζιξπςστυφω + ЉЄДЛУЭЯбдлэяєљђєћѢѣҨҩҼҽӃӄӘә + #$&'()*,/69?@[]{}~¡£¤¥§©®¿ + ‹›₤€₯ℓ№℗℮←↑→↓∂∏∑∞≈▰☄❈❰❱❲❳😝 + Raised vertical position of mathematical glyphs + Unified advance width of numeral and monetary glyphs + Unified advance width of mathematical glyphs + Revised bearings + Rewrote kern feature + Bolder Xolonium-Bold with improved proportions + Updated glyph names to conform to the AGLFN 1.7 + Revised hints and PS Private Dictionary + Added glyphs: + ӶӷԤԥ + Added OpenType features: + case frac liga locl pnum sinf subs sups zero + + Xolonium 2.4 2014-12-23 Severin Meyer + Added dingbats: + ⛔💣🔥 + Revised size and design of emoticons + Revised dingbats: + ⌖☄☠☣⚙⚛⚠⚡❇❈🌌🌍🌎🌏🔫 + Removed dingbat: + 💥 + + Xolonium 2.3 2014-08-14 Severin Meyer + Bugfixed ε and έ, thanks to bowzee for the feedback + + Xolonium 2.2 2014-03-01 Severin Meyer + Added dingbats: + ⌖◆●❌💥 + Revised dingbats: + •←↑→↓◊☄★☠☣⚙⚛⚠⚡❇❈❤🌌🌍🌎🌏👽🔫🚀 + Removed dingbats: + ♻✪💡📡🔋🔧🔭 + + Xolonium 2.1 2013-10-20 Severin Meyer + Added dingbats: + ←↑→↓❰❱❲❳■▬▮▰▲▶▼◀◢◣◤◥ + ☄★☠☢☣♻⚙⚛⚠⚡✪❇❈❤ + 🌌🌍🌎🌏👽💡📡🔋🔧🔫🔭🚀 + 😁😃😄😆😇😈😉😊😎😐😒😕 + 😘😛😝😞😟😠😣😭😮😲😴😵 + + Xolonium 2.0.1 2013-07-12 Severin Meyer + Reorganised and simplified files + + Xolonium 2.0 2012-08-11 Severin Meyer + Revised bends + Revised thickness of uppercase diagonal stems + Revised diacritical marks + Revised hints and PS Private Dictionary + Revised glyphs: + *1469@DPRly{}§©®¶ÐÞƒΘΞαεζνξνυЄЉЊ + ЏБЗЛУЧЪЫЬЭЯбзлчъыьэяєљњџ•€∂∙√∞∫≠ + Completed glyph sets: + Adobe Latin 3 + OpenType World Glyph Set 1 (W1G) + Ghostscript Standard (ghostscript-fonts-std-8.11) + Added OpenType kern feature + Added Xolonium-Bold + + Xolonium 1.2 2011-02-12 Severin Meyer + Revised glyphs: + D·Ðı + Completed glyph sets: + ISO 8859-7 (Greek) + Unicode Latin Extended-A block + Added glyphs: + †‡•…‰⁄™∂∑−√∞≠≤≥ + + Xolonium 1.1 2011-01-17 Severin Meyer + Revised placement of cedilla and ogonek in accented glyphs + Revised glyphs: + ,;DKTjkvwxy¥§Ð˛€ + Completed glyph sets: + ISO 8859-2 (Central European) + ISO 8859-3 (South European, Esperanto) + ISO 8859-4 (North European) + ISO 8859-5 (Cyrillic) + ISO 8859-9 (Turkish) + ISO 8859-10 (Nordic) + ISO 8859-13 (Baltic Rim) + ISO 8859-14 (Celtic) + ISO 8859-16 (South-Eastern European) + Added glyphs: + ȷʼ̒ ЀЍѐѝ‒–—‘’‚‛“”„‟‹› + + Xolonium 1.0 2011-01-04 Severin Meyer + Completed glyph sets: + ISO 8859-1 (Western European) + ISO 8859-15 (Western European) + Added glyphs: + ĄĆĘŁŃŚŹŻąćęłńśźżıˆˇ˙˚˛˜ diff --git a/dodge_the_creeps_2d_assets/fonts/LICENSE.txt b/dodge_the_creeps_2d_assets/fonts/LICENSE.txt new file mode 100644 index 0000000..cd6cd46 --- /dev/null +++ b/dodge_the_creeps_2d_assets/fonts/LICENSE.txt @@ -0,0 +1,94 @@ +Copyright 2011-2016 Severin Meyer , +with Reserved Font Name Xolonium. + +This Font Software is licensed under the SIL Open Font License, +Version 1.1. This license is copied below, and is also available +with a FAQ at + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/dodge_the_creeps_2d_assets/fonts/Xolonium-Regular.ttf b/dodge_the_creeps_2d_assets/fonts/Xolonium-Regular.ttf new file mode 100644 index 0000000..031d627 Binary files /dev/null and b/dodge_the_creeps_2d_assets/fonts/Xolonium-Regular.ttf differ diff --git a/main.gd b/main.gd new file mode 100644 index 0000000..fae2c76 --- /dev/null +++ b/main.gd @@ -0,0 +1,11 @@ +extends Node + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass diff --git a/main.gd.uid b/main.gd.uid new file mode 100644 index 0000000..728d523 --- /dev/null +++ b/main.gd.uid @@ -0,0 +1 @@ +uid://40xnax86ff5v diff --git a/main.tscn b/main.tscn new file mode 100644 index 0000000..b4b2b3a --- /dev/null +++ b/main.tscn @@ -0,0 +1,30 @@ +[gd_scene format=3 uid="uid://62ecirhdonkh"] + +[ext_resource type="PackedScene" uid="uid://jb11l53ss1a5" path="res://player.tscn" id="1_ig7tw"] + +[sub_resource type="Curve2D" id="Curve2D_ig7tw"] +_data = { +"points": PackedVector2Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 480, 0, 0, 0, 0, 0, 480, 720, 0, 0, 0, 0, 0, 720, 0, 0, 0, 0, 0, 0) +} +point_count = 5 + +[node name="Main" type="Node" unique_id=1884465277] + +[node name="Player" parent="." unique_id=1124984874 instance=ExtResource("1_ig7tw")] + +[node name="MobTimer" type="Timer" parent="." unique_id=1437812380] +wait_time = 0.5 + +[node name="ScoreTimer" type="Timer" parent="." unique_id=298649566] + +[node name="StartTimer" type="Timer" parent="." unique_id=418003132] +wait_time = 2.0 +one_shot = true + +[node name="StartPosition" type="Marker2D" parent="." unique_id=9996898] +position = Vector2(240, 450) + +[node name="MobPath" type="Path2D" parent="." unique_id=910062391] +curve = SubResource("Curve2D_ig7tw") + +[node name="MobSpawnLocation" type="PathFollow2D" parent="MobPath" unique_id=1309929511] diff --git a/mob.gd b/mob.gd new file mode 100644 index 0000000..d3ab63b --- /dev/null +++ b/mob.gd @@ -0,0 +1,16 @@ +extends RigidBody2D + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + var mob_types = Array($AnimatedSprite2D.sprite_frames.get_animation_names()) + $AnimatedSprite2D.animation = mob_types.pick_random() + $AnimatedSprite2D.play() + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass + + +func _on_visible_on_screen_notifier_2d_screen_exited() -> void: + queue_free() diff --git a/mob.gd.uid b/mob.gd.uid new file mode 100644 index 0000000..1854f01 --- /dev/null +++ b/mob.gd.uid @@ -0,0 +1 @@ +uid://duyqhpt2jwq03 diff --git a/mob.tscn b/mob.tscn new file mode 100644 index 0000000..acce067 --- /dev/null +++ b/mob.tscn @@ -0,0 +1,68 @@ +[gd_scene format=3 uid="uid://dbqx3rs3h3hfp"] + +[ext_resource type="Script" uid="uid://duyqhpt2jwq03" path="res://mob.gd" id="1_1qmh0"] +[ext_resource type="Texture2D" uid="uid://b0iwsl4df2bjb" path="res://dodge_the_creeps_2d_assets/art/enemyFlyingAlt_1.png" id="1_b3mxk"] +[ext_resource type="Texture2D" uid="uid://qehxsg2oy40s" path="res://dodge_the_creeps_2d_assets/art/enemyFlyingAlt_2.png" id="2_1qmh0"] +[ext_resource type="Texture2D" uid="uid://prgnhajyuu16" path="res://dodge_the_creeps_2d_assets/art/enemySwimming_1.png" id="3_gfurk"] +[ext_resource type="Texture2D" uid="uid://c1hfxsqa7ihl1" path="res://dodge_the_creeps_2d_assets/art/enemySwimming_2.png" id="4_ieysi"] +[ext_resource type="Texture2D" uid="uid://bku233t18ljp7" path="res://dodge_the_creeps_2d_assets/art/enemyWalking_1.png" id="5_cixyi"] +[ext_resource type="Texture2D" uid="uid://ccqqxvixjqt74" path="res://dodge_the_creeps_2d_assets/art/enemyWalking_2.png" id="6_7ulmv"] + +[sub_resource type="SpriteFrames" id="SpriteFrames_pcqmr"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_b3mxk") +}, { +"duration": 1.0, +"texture": ExtResource("2_1qmh0") +}], +"loop": true, +"name": &"fly", +"speed": 3.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("3_gfurk") +}, { +"duration": 1.0, +"texture": ExtResource("4_ieysi") +}], +"loop": true, +"name": &"swim", +"speed": 3.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("5_cixyi") +}, { +"duration": 1.0, +"texture": ExtResource("6_7ulmv") +}], +"loop": true, +"name": &"walk", +"speed": 3.0 +}] + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_jbnni"] +radius = 36.0 +height = 98.0 + +[node name="Mob" type="RigidBody2D" unique_id=2056343375] +collision_mask = 0 +gravity_scale = 0.0 +script = ExtResource("1_1qmh0") +metadata/_edit_group_ = true + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." unique_id=1289726092] +scale = Vector2(0.75, 0.75) +sprite_frames = SubResource("SpriteFrames_pcqmr") +animation = &"walk" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1678413636] +rotation = 1.5707964 +shape = SubResource("CapsuleShape2D_jbnni") + +[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="." unique_id=2110952912] + +[connection signal="screen_exited" from="VisibleOnScreenNotifier2D" to="." method="_on_visible_on_screen_notifier_2d_screen_exited"] diff --git a/player.gd b/player.gd new file mode 100644 index 0000000..2571cbf --- /dev/null +++ b/player.gd @@ -0,0 +1,50 @@ +extends Area2D +signal hit +@export var speed = 400 +var screen_size + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + hide() + screen_size = get_viewport_rect().size + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + var velocity = Vector2.ZERO + if Input.is_action_pressed("move_right"): + velocity.x += 1 + if Input.is_action_pressed("move_left"): + velocity.x -= 1 + if Input.is_action_pressed("move_up"): + velocity.y -= 1 + if Input.is_action_pressed("move_down"): + velocity.y += 1 + + if velocity.length() > 0: + velocity = velocity.normalized() * speed + $AnimatedSprite2D.play() + else: + $AnimatedSprite2D.stop() + + if velocity.x != 0: + $AnimatedSprite2D.animation = "walk" + $AnimatedSprite2D.flip_v = false + $AnimatedSprite2D.flip_h = velocity.x < 0 + if velocity.y != 0: + $AnimatedSprite2D.animation = "up" + $AnimatedSprite2D.flip_v = velocity.y > 0 + + position += velocity * delta + position = position.clamp(Vector2.ZERO, screen_size) + +func start(pos): + position = pos + show() + $CollisionShape2D.set_deferred("disabled", true) + + +func _on_body_entered(body: Node2D) -> void: + hide() + hit.emit() + $CollisionShape2D.set_deferred('disabled', true) diff --git a/player.gd.uid b/player.gd.uid new file mode 100644 index 0000000..09a8901 --- /dev/null +++ b/player.gd.uid @@ -0,0 +1 @@ +uid://on80gghcvcrr diff --git a/player.tscn b/player.tscn new file mode 100644 index 0000000..1c7951e --- /dev/null +++ b/player.tscn @@ -0,0 +1,50 @@ +[gd_scene format=3 uid="uid://jb11l53ss1a5"] + +[ext_resource type="Texture2D" uid="uid://bbve1gb0go3nk" path="res://dodge_the_creeps_2d_assets/art/playerGrey_up1.png" id="1_hqtel"] +[ext_resource type="Script" uid="uid://on80gghcvcrr" path="res://player.gd" id="1_sweqy"] +[ext_resource type="Texture2D" uid="uid://cobserhyt4ayp" path="res://dodge_the_creeps_2d_assets/art/playerGrey_up2.png" id="2_sweqy"] +[ext_resource type="Texture2D" uid="uid://2d0wkwyray0e" path="res://dodge_the_creeps_2d_assets/art/playerGrey_walk1.png" id="3_2hs0m"] +[ext_resource type="Texture2D" uid="uid://dkn0w748qgf3v" path="res://dodge_the_creeps_2d_assets/art/playerGrey_walk2.png" id="4_1jxqw"] + +[sub_resource type="SpriteFrames" id="SpriteFrames_dw050"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_hqtel") +}, { +"duration": 1.0, +"texture": ExtResource("2_sweqy") +}], +"loop": true, +"name": &"up", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("3_2hs0m") +}, { +"duration": 1.0, +"texture": ExtResource("4_1jxqw") +}], +"loop": true, +"name": &"walk", +"speed": 5.0 +}] + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_b26j0"] +radius = 53.0 +height = 136.0 + +[node name="Player" type="Area2D" unique_id=1124984874] +script = ExtResource("1_sweqy") +metadata/_edit_group_ = true + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." unique_id=1981150341] +sprite_frames = SubResource("SpriteFrames_dw050") +animation = &"up" +speed_scale = 0.5 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1755581068] +shape = SubResource("CapsuleShape2D_b26j0") + +[connection signal="body_entered" from="." to="." method="_on_body_entered"] diff --git a/project.godot b/project.godot index 44fa076..56886d4 100644 --- a/project.godot +++ b/project.godot @@ -11,9 +11,43 @@ config_version=5 [application] config/name="Warmup" +run/main_scene="uid://jb11l53ss1a5" config/features=PackedStringArray("4.6", "GL Compatibility") config/icon="res://icon.svg" +[display] + +window/size/viewport_width=480 +window/size/viewport_height=720 +window/stretch/mode="canvas_items" + +[input] + +move_right={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) +] +} +move_left={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null) +] +} +move_up={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null) +] +} +move_down={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null) +] +} + [physics] 3d/physics_engine="Jolt Physics"