From 44b1fc1fc856aa0d69f5bbd2cae946631d19a8d9 Mon Sep 17 00:00:00 2001 From: axel Date: Thu, 17 Oct 2024 18:09:14 -0700 Subject: [PATCH] Helen LIIIIIIIVVVVESSSS! Godot Project created added Hitbox, Grazebox and movement created asset for player and player bullets --- tutorial---basic-player-traits/.gitattributes | 2 + tutorial---basic-player-traits/.gitignore | 3 ++ .../assets/LowQualityHelen.png | Bin 0 -> 2555 bytes .../assets/LowQualityHelen.png.import | 34 ++++++++++++ .../assets/MagicBulletHelen.png | Bin 0 -> 423 bytes .../assets/MagicBulletHelen.png.import | 34 ++++++++++++ tutorial---basic-player-traits/icon.svg | 1 + .../icon.svg.import | 37 +++++++++++++ tutorial---basic-player-traits/player.gd | 29 +++++++++++ tutorial---basic-player-traits/player.tscn | 37 +++++++++++++ tutorial---basic-player-traits/project.godot | 49 ++++++++++++++++++ 11 files changed, 226 insertions(+) create mode 100644 tutorial---basic-player-traits/.gitattributes create mode 100644 tutorial---basic-player-traits/.gitignore create mode 100644 tutorial---basic-player-traits/assets/LowQualityHelen.png create mode 100644 tutorial---basic-player-traits/assets/LowQualityHelen.png.import create mode 100644 tutorial---basic-player-traits/assets/MagicBulletHelen.png create mode 100644 tutorial---basic-player-traits/assets/MagicBulletHelen.png.import create mode 100644 tutorial---basic-player-traits/icon.svg create mode 100644 tutorial---basic-player-traits/icon.svg.import create mode 100644 tutorial---basic-player-traits/player.gd create mode 100644 tutorial---basic-player-traits/player.tscn create mode 100644 tutorial---basic-player-traits/project.godot diff --git a/tutorial---basic-player-traits/.gitattributes b/tutorial---basic-player-traits/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/tutorial---basic-player-traits/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/tutorial---basic-player-traits/.gitignore b/tutorial---basic-player-traits/.gitignore new file mode 100644 index 0000000..0af181c --- /dev/null +++ b/tutorial---basic-player-traits/.gitignore @@ -0,0 +1,3 @@ +# Godot 4+ specific ignores +.godot/ +/android/ diff --git a/tutorial---basic-player-traits/assets/LowQualityHelen.png b/tutorial---basic-player-traits/assets/LowQualityHelen.png new file mode 100644 index 0000000000000000000000000000000000000000..2000c4b24d2bd326017bda5a46368aa8ca4d0ec7 GIT binary patch literal 2555 zcmVtmN6DgZEa1`52zR_HeTK3!nwC-{F1fcPR?KxhE~gHC{ABf#y!2f(wS z?0idEJU<@aJAy9+_W|d5Fl0aS^nl#&J>=ESq6`3x>j3Gjp;oq1_}?qwyG^6Dm9S?h ztEk#i=a`&vc@OV@)3-2*0386Fnscc7?J2C>)u?{X#4AS@J{ML&IsklYHtn!<5y~w; zWNfWp*O-8A@p90G>j3Z<3O^}G1*)nHqolmbXxu?eiP9Un(lvVrnc>QQB=eIVd5<)6Ui=^ZTt}dYmp( z0l=*b*j-sF^5T*v4=wn56=fU&K;|~c+)YJ5jMFG>-9;@R&eNVM=5*CbNd!PIY0h{j zn2$kli;9XO06ME=j%gZtu5MP2b8QdPa2T0ke&%rQ*26vn@; zqn8r^qEj0kxlyD&ghEH^7Ob)t(3Kfg`cl;Xce;hwCIFh6jvFluoB*iQk`SN7g=hf> zb=7eK;3r)nF-iZW7d@N+NNTt66d7eO(|!_y+hCTLL&05FiO zhJ<&tq+}$n#DQmo#GniC`L+E1s|3m@+I0uz=UElyvAV3(0kM|P*g7BQca~H@o8VJ9O-?zmW zh+^oLiwfIo*U@tq$P@&@x8wH!@E@umEL>Brnly-X4E1%4CJUqmSQ;{>xV)n3sp2wY zSc|4P4Kp=gzOKS3MPPJcah0)ReTA`p^Pvr0+ShG0q*tS+ZCf)IBXpXBit1}GB~Sn$ zoY5p)K6lRRRL^ME_&@R6_f{I~Hu2ozDA9XM$ICC^fe-X<)Fi)q=v#_y0H8*wUyuMW zlx_}KC2Vag(yao24gMQEEw^PIV@R)tMmGQ#672v0j3lW>fs6r=$b}Kl|E-E#);Cr?x2mt6h`v~k7k+BKSt&Yxv7X~zuc}Qo3E%jn>xo05eU;2<#-cAcoGTfsVadO6rp7RLg%7!FiAG*qI?lRCmw({imY0${kR5HpxZ<;bFmU_YLag*Fhl+T@!p zVoN+lwgBLFy3~0g(+_d;^bL3}xT_yQ*~rV?TIPVtZoq|7q$C>zgH+BQN5BP^mw_-y zowB!W(CBAwc44^N7Qyj0} zePN;m}FV0BO8_V|r zx;avUaLgq^ZR?@W{355Xw z4H4bsW@w8ODZTL}5`;V!dY7Q7i)M<*&j&o(Da^(=VJjd)Ha+rUR%8@b7hpt(>TQyx zky#&d!PhEw1EqIa4s3s^?UM)%0(|7@YoNN`aLV32g=j?l1M z09S<~Vw@0z8fq=k*DtDluKmxewU%cXRv-W&30Lg`sUJpzW`@SFMernuLCmorFVW(< ziZghc@q2W2anZw2*_2WQQUp>2QUp>2QUp>2QUp>2QUp>2QUp>2QUszy;9nP$Lz}0k R@5=xH002ovPDHLkV1kvmftdgR literal 0 HcmV?d00001 diff --git a/tutorial---basic-player-traits/assets/LowQualityHelen.png.import b/tutorial---basic-player-traits/assets/LowQualityHelen.png.import new file mode 100644 index 0000000..e96e9d6 --- /dev/null +++ b/tutorial---basic-player-traits/assets/LowQualityHelen.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxbou1xqm7udc" +path="res://.godot/imported/LowQualityHelen.png-07cc4c5127170ab10c19e297fa06618c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/LowQualityHelen.png" +dest_files=["res://.godot/imported/LowQualityHelen.png-07cc4c5127170ab10c19e297fa06618c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tutorial---basic-player-traits/assets/MagicBulletHelen.png b/tutorial---basic-player-traits/assets/MagicBulletHelen.png new file mode 100644 index 0000000000000000000000000000000000000000..c064edb4de72043e69faf73e40fb34c2359e55b1 GIT binary patch literal 423 zcmV;Y0a*TtP)0HFdH)BQiD@mMqFn$GpoTrpyvN< z>;|8KG#f6(Oc)Z(hNVy5u%`U|$H>US^#A{_Ka4y;HLHko1+(EEkgW{N=Kt9QAOB?J zd-sZgEd%TlAl`xB5N1OTprSuu#XQ$uG4Or=55Zr)Gq8q(ya6&~2D%{#FZ@0K11R|& ztbj>T6rqrrgMnkhS18{aw*mOv$0#5Ulm;21jUJ!~7cd(N0TqA(3}zd;k^g}LpePkY zmOzdLN2tUj9FAcHivI)RSGWv-#q}Q?2Cx9d|1$hN4{`|{AiLl*RFoZu0e6AotiUkv z!DRp_3_t)^7+itM+mq`BPHYw+dqD)M;6KCv7bhA1UEh!96?G{87_vAbr!gCz14 \ No newline at end of file diff --git a/tutorial---basic-player-traits/icon.svg.import b/tutorial---basic-player-traits/icon.svg.import new file mode 100644 index 0000000..5aeae18 --- /dev/null +++ b/tutorial---basic-player-traits/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4rek0uldqngb" +path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/tutorial---basic-player-traits/player.gd b/tutorial---basic-player-traits/player.gd new file mode 100644 index 0000000..e544b5d --- /dev/null +++ b/tutorial---basic-player-traits/player.gd @@ -0,0 +1,29 @@ +extends Area2D +@export var speed = 600 +var screen_size +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + 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 + var currentSpeed = speed + if Input.is_action_pressed("move_up"): + velocity.y -= 1 + 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_down"): + velocity.y += 1 + + if Input.is_action_pressed("focus"): + currentSpeed = speed / 2 + + if velocity.length() > 0: + velocity = velocity.normalized() * currentSpeed + + position += velocity * delta + position = position.clamp(Vector2.ZERO, screen_size) diff --git a/tutorial---basic-player-traits/player.tscn b/tutorial---basic-player-traits/player.tscn new file mode 100644 index 0000000..594d8d0 --- /dev/null +++ b/tutorial---basic-player-traits/player.tscn @@ -0,0 +1,37 @@ +[gd_scene load_steps=6 format=3 uid="uid://dn6vstynf4qyu"] + +[ext_resource type="Script" path="res://player.gd" id="1_ro1ml"] +[ext_resource type="Texture2D" uid="uid://cxbou1xqm7udc" path="res://assets/LowQualityHelen.png" id="2_ertgi"] + +[sub_resource type="SpriteFrames" id="SpriteFrames_77x2a"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("2_ertgi") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] + +[sub_resource type="CircleShape2D" id="CircleShape2D_emqsv"] +radius = 57.85 + +[sub_resource type="CircleShape2D" id="CircleShape2D_tnmln"] +radius = 18.63 + +[node name="Player" type="Area2D"] +script = ExtResource("1_ro1ml") +metadata/_edit_group_ = true + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +position = Vector2(4, 0) +sprite_frames = SubResource("SpriteFrames_77x2a") + +[node name="GrazeBox" type="CollisionShape2D" parent="."] +visible = false +shape = SubResource("CircleShape2D_emqsv") + +[node name="KillBox" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_tnmln") +debug_color = Color(0.966315, 0, 0.481295, 0.42) diff --git a/tutorial---basic-player-traits/project.godot b/tutorial---basic-player-traits/project.godot new file mode 100644 index 0000000..e328bbb --- /dev/null +++ b/tutorial---basic-player-traits/project.godot @@ -0,0 +1,49 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="Tutorial - Basic Player Traits" +run/main_scene="res://player.tscn" +config/features=PackedStringArray("4.3", "Forward Plus") +config/icon="res://icon.svg" + +[display] + +window/size/viewport_width=1920 +window/size/viewport_height=1080 + +[input] + +move_right={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"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":0,"location":0,"echo":false,"script":null) +] +} +move_up={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"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":0,"location":0,"echo":false,"script":null) +] +} +move_left={ +"deadzone": 0.5, +"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":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null) +] +} +move_down={ +"deadzone": 0.5, +"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":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null) +] +} +focus={ +"deadzone": 0.5, +"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":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +}