From 3e0e23c28c29285d4c939496cce6f7665a2d1326 Mon Sep 17 00:00:00 2001 From: Tabby <41929769+tabby-cat-nya@users.noreply.github.com> Date: Sun, 29 Jun 2025 15:15:49 +1000 Subject: [PATCH] cooking --- 2dWorld.tscn | 73 +++++++++++++++++++++++++++++++++++++ Sprites/Cyclone.png | Bin 0 -> 7130 bytes Sprites/Cyclone.png.import | 34 +++++++++++++++++ cyclone.gd | 66 +++++++++++++++++++++++++++++++++ cyclone.gd.uid | 1 + project.godot | 2 +- 6 files changed, 175 insertions(+), 1 deletion(-) create mode 100644 2dWorld.tscn create mode 100644 Sprites/Cyclone.png create mode 100644 Sprites/Cyclone.png.import create mode 100644 cyclone.gd create mode 100644 cyclone.gd.uid diff --git a/2dWorld.tscn b/2dWorld.tscn new file mode 100644 index 0000000..1c6d174 --- /dev/null +++ b/2dWorld.tscn @@ -0,0 +1,73 @@ +[gd_scene load_steps=4 format=3 uid="uid://biu528mgexdyp"] + +[ext_resource type="Texture2D" uid="uid://cdw1vlidvg2yt" path="res://Sprites/Cyclone.png" id="1_1wkcu"] +[ext_resource type="Texture2D" uid="uid://b48ofysofsffi" path="res://icon.svg" id="1_2uw02"] +[ext_resource type="Script" uid="uid://u353j4q7l26d" path="res://cyclone.gd" id="1_xr6w1"] + +[node name="2dWorld" type="Node2D"] + +[node name="WorldMap" type="Sprite2D" parent="."] +position = Vector2(589, 319) +scale = Vector2(5, 5) +texture = ExtResource("1_2uw02") + +[node name="Cyclone" type="Node2D" parent="." node_paths=PackedStringArray("sprite", "label", "wind_speed_label")] +position = Vector2(572, 229) +script = ExtResource("1_xr6w1") +sprite = NodePath("Sprite2D") +label = NodePath("cLabel") +wind_speed_label = NodePath("wsLabel") + +[node name="Sprite2D" type="Sprite2D" parent="Cyclone"] +scale = Vector2(0.2, 0.2) +texture = ExtResource("1_1wkcu") + +[node name="cLabel" type="Label" parent="Cyclone"] +offset_left = -21.0 +offset_top = -11.0 +offset_right = 19.0 +offset_bottom = 12.0 +size_flags_horizontal = 4 +text = "1" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="wsLabel" type="Label" parent="Cyclone"] +offset_left = -21.0 +offset_top = -66.0 +offset_right = 19.0 +offset_bottom = -43.0 +size_flags_horizontal = 4 +text = "1" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="Timer" type="Timer" parent="Cyclone"] +wait_time = 5.0 +autostart = true + +[node name="Background" type="CanvasLayer" parent="."] +layer = -1 + +[node name="UI" type="Control" parent="Background"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="Background/UI"] +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 40.0 + +[node name="LoadImage" type="Button" parent="Background/UI/VBoxContainer"] +layout_mode = 2 +text = "Load Image" + +[node name="Spawn" type="Button" parent="Background/UI/VBoxContainer"] +layout_mode = 2 +text = "Spawn Cyclone" + +[connection signal="timeout" from="Cyclone/Timer" to="Cyclone" method="_on_timer_timeout"] diff --git a/Sprites/Cyclone.png b/Sprites/Cyclone.png new file mode 100644 index 0000000000000000000000000000000000000000..1cd197f3214388a4f430970ec8f72e75b83dc2cc GIT binary patch literal 7130 zcmd^k_fu10w>3?wNDCmniL?MJA{uJwHPk>riiX}1LKQ?hgpLpt1f)rez@ZbGKq5jY zN{NcnM3f>Ry-4}+eeeC{`xow>*|YXqyPWpSbI#03GJ)wZ(sR?3k&!X#>1vvhkx?MX z$jFaqDK8Wc=K8xAKptSGqfS;k%DZwws9d2&P%<(go#Eu+r3-$|#Lz!jH8R$@(a{T?&QI4m zfQ;-)|34=m@U8q;d=;gIK$-ixpn@OzJCm6_boW8Yz_cs`*ON{_4L||8-n?_1{U^7x6!%xR^unpGvcPcQ2y< z>AHF2#=mUMQz169i5d6mVc>xW28|x@GeHF4syaTQD277lFi$WbjNHPC##04YGX{Xs>P70 z;~|iDbOdAnYd!`K)2AnlEsw)`G9!~=LoSYCD|yp zUy*uY$%(dd;w0r@VP%R?4%)6&$S|CF;JOKxCxb!OT26|;EgV0|j}H8az=S`~I2(hi z#5rLOo2x+*Bz>DQCebeO=k z7)v@BDACQ=!F_wQM zvk{@=ga}@ixAi^q%;u> zdt*)Yth@fKz=1i_4<(Ih6-iLhKIX#Jiw-Cyb&NM6S{I9Z-$S5J-SA}&KpJ62$i1kz z!!4R`_3Wt+VLUXwZB3(;Q6{{?3Rrb>d)jiO9M(R#_icM%SHe;vAeuie-VJ65}B)7=e}H=5l;3-YgUJ1I`QJuD0VU#DHpD`Ua^K zL_k71u&IkZsk0Fk?CDE{j}KRWkS2m!@Z+JpcV;6R3=yQXm-GW(p`Ei=P{Ni+!Lu?^ z;q*EXOs$PgMB?5n?#nth{>CnQf*7Aov@C`hHHX)LFt0%tu#>#>`e~i-PZ_odeU7+! zxEFwOl`df~_=9vewu`bVCX5q{AS=AuoHZvCu3+p7GwVpS!HeU{D>2FCIuvs;Cv=R$ zoOz#-IcqoixqcXVF?YS!T-}-{|%|5l;Og2*lz_^(YD5u@4=HR(n&h(9ln}P2^0N77#1?emE@vK;`_+$*ZR{OT|SuZKVbS z@pj)1Qp8=3I6Mb63MT$=m1}Gq)hx?Gdwd~b+#>_2EZCP3 z;|gS?{NN$y-(Evtm!3LZa}Xy_yWpj7W0&mfTeK(hPI{dNKQY zyP(z+OwZSuu(GWCyvc!f3C#@dg(QZILU-i~uDZQ*At~Eo zPK&xO8g+4!>>wmGO7q(#+X3?+8Ivvnw(oFo0jpy7jGJSiA1_0~mrpC5)LU$v)fGmPZ2LHhv z?LbA3BB-Y2tCX$^+wR&M>blL=FVmU4o7H~eB*<#5;AzT@@M#T*@MTAFlJN)AKkV0v z7{?EVWt$%goPUu-M23Kj%=Tsq9Du`E~P^$y)e0OF_5nT3Pl0=0NzjW`_ZmA_| zAKHDNHwL#e)W9jsd>?Q3p22c&eY|}oCyPFMCteX~3aPWC(^Y0*&J!JXZA^{%9`v@i z2!Ru#7Tmh5_MoMSnb@g+E`7xS9FVuJp=+*^zGwed-Ya1O=cfd`9{1VR;r{ezg`yTI z*SXKomE_!mSMXI;K78rPba45fxKZ`zI!6{UqlIT%W}P6{hGyJyC;1`yxYJLT5zpco z>Mlr0gO{5}sU?Kg@Isx__Sn*~n`W*^`OmFs8F^6&xxG>`ho)F2#IOOFYLdA? z@(xJqD4Z6p0C*W-HP+B3FFecUr+#ip!CV8wlbpNMWHuZAzN(E%u%bpDd3F6|^?V~g z{CRCz0Nt!$&|oK+@W94VnqlG0~q?d7#TMZTl86UC|{pTa*G!$zr=xZ;uTu6A~Qz-zP{`}Ur z-+OfO=j^tlF4#G=3GYG;UL9#&e}F58lkosbKC&oLj`1N{ss^?xNpj9cuHyoJ&cC6o zo;#X7&YSr-8_{|HJC3JjRNrZhkwR4|YJwd?OZ0?knh92hhrbhSV{#DB`r&1T_*;B@ zT2~d3jdC_U0R#8qD(dkb@4|j_%DBqyDk_uWVwwOY3-&t)MpI~H7lnlL+ux2NkXo1f z7GQS`L0Z+jti;+RcsQ0}uA3iZ0k({jh3da}D!5N@nhBg5TIgp`PIBIVpYcTxcOPWk z{5H#yBib)U3>dadABAPjz`&6cA1+S8(<#)N))nw!P?cc z5l6=DVlFkT!u><)=a}Ke`4$e_Ki759dmJ?ZJU={H`ZmB{>$>a-+X~jpI^eE#L%-W$ zZp<1O#O8-2PD)#&GWPsC96XzKi0jX)KYY5pzW?R`4o-7ab_MRSXl}R|BVXK}Wv7~t zC&zQY!n1-4I}bTe63eNd--t)dwtP{P1RB1qAZUBZK{d*jmoQJ6dFxL{DC@*Y<|)$% zdUe0IUY1Dq*!fGwaG@*@$03zp8Y=H>4ruuv}L<=aq6^{S|d5-dQ(t=bp*Y@f2OB3#Kze-AD<~13n z)|DX1rI3!?OGKz>J|__}4_q$`k@lH%D=q0}ufX;#*oCWFwAlEB?!K)}l^3Cs4Po_s z`tI+3OyHDc)EZEjxyt6Fp!46nq$Zh(+|1^90dEN%?!{8Qy5QoKqb%(n8DhBzPnUpQ?9dED?A|h!-4I>M*)NM+T?*C4! z2@)IUs}%ew9>2f0{v;gg{2ixTor1`DhT@eN!;b_9P@^Q-73 zZ+Vg+@+hR`O>dPa1tE+n%j3RBU&nIV*WbQ1TSU+ryKc4j$Jnu~3R*`U^dL?Uy~m$? zUDqgtbLNrs9mdL!i=~epqRXZ+l9>9x%3X#o$fNtJs|Mg_6_Ib~WP{}?zN9+c+<1~E z(B~H`1{k8T@(Tx>S7mfMoS|1d`ySz^AE#LSDv}-^Z#%kwTP_>X(bA9-WK_FFoV~+N zznIwUYgfreXe;sl*mjRsfKLZpB^#vlWo%;wkoTb_u+?6C-?^22a+!>!p)FUYd4u-; ztbiQb62(A|KgH5?$ZM4uxM`(cjoylFWF@*Z_P*${v2L^u)dE!dJuX-Qcl)yuwjD`s z>4Z|oQG8yjuM@m@w9IaLbB*F%82Q&vd&dQ|1MJ;+2)jA(gUA9i->4o&0r=~mdo-NwJS{A9etH_ci^)jjX6!#}D z|5bO?Q=6?n+$~P~pHTuPSjWZi5ESG6@6Ntot>W1{Jvu=13-VqJgk!3|)%7dF&jKkg zMb}Mweg;u3UG_zKck9s~g+k{%gVHO`BRb-b-^Ks_ICe@EjP&lhLUt5d+?`O5%~bK> z^Vj*nei~}dtDL%p5i-EGr&_Osd$2^;VmG}KDiVIqe1~D*90Urh%1$cegO3d++ItgU zNv$b}rGqE`hmscpQqlX~`5yD3 zDY~Chxb6@{{P9S;ZZOi^QxC^QGdD$%J|^Bts6yy=#ScrIceBgdkEUL~EOTw3v^3fr zfJytFu}5_G*S+IUbI+n^8A)7b@29IW`XgyMu|M>p#N!mp>-L4%Ce|TS{|()&;Vixk z2x&=b+4kSphp8_%co6zEZ0(`IhN;eVW$5>HucWj%n2VTNH-Xr%Tm%KWMW*U&t3IZ2 z%KT)|;vOZ2V=uwKcF!}man!Z3uQi=$(6{I$G^a(wtXJ0_H|-P6Xf~WJmX<^E>c3lI z+eh@rT`ScO7bVuj4&FXyAT}c6br6x4slupLnkixF&)a(e#ADKJ--7D-()Gc3;+{eu zfJhC3E0J$>UJ~$4-sv?ZG$PhHoR!ID{|Wk!I{kN3Tme{CtnSeM+x*t~MWd~`K7ScZ zuXU>crSEKXdh4aZMXq1Sk<{E{`zQt9-hr>C!cFy^$<2;q%>S7|&pIGKN|^QqGyI3f zgBD=Mc-%lc;;#``-@l3L;zIP`1LV3DXIQzQ^UFm$uyjLEf!wZk>`gGC3sJEYo+V}) z4MMQskx_vRgz3w9fyIVGVX^vT!1hmLDu(29X9Ooj;#8PJlS9_8faGpwD3&c5n?w6- z%vC*6)ZSEjrWC!Ks74Fy+r3zd$yR4aK=BYD2aY}{h&`ZUNj6tJQwX17(*hTOwCU6J zUS-DXg8-OyumF=`;#7n}EKAK%J20zuOH(Kfu`3CBgy#+=>n^*iu_2g&5J`8@vYzl0 z%|i62-Q(@gvFgQhlfas)tN`BQP#mNhn;Vy`CvglJB}Yzf({(Y+FkqT zdLZaf!q&kL>O%+Whd7;ZX50iMJ`!u*BUgH@nbb(J+K{e9M_Y>IK*-y2#SDewBnNu} zhXMVY-8T@;+1PS$6-`}qa$r`BxIAV*ht(E~(>T8J!x-UTS*lvdW`|`9mvrsV zP<@o7EE6WwdGXZzthL!3!0q9hQjjeIWUAuHCyn#($?R*DB~~aw(n?1CXCWLy^qr%> zN(l{62C*$#0(IlnQDLu`093nwnl!1&Q0Rb3rIZaoRa(%3Ev<3e)jWWvwEJ5cj+$o+ zH4LYTf%<`F+()1^E?_w>4R14`pJ^PGpn=`wXr+VWfOIJAdluHjwbKFVO|O zS*qC(4s;~U^0Infy2r_#TUbV!%>eAS1ApZKdVAmJ#bbWQwu=>*C*}MkBwOHLRcm(b z-)JjjV!3qn$)>nv94EugRsM4%A5l29nk=W!GWiIKeVg_P2>AtOJ?)z2{uoc1%6es zsz43T_faMsv#os|EKcv~uTB-Et7$|^NsjP^oMXg%Y03@D%b-%d?EUZljw!9^gY72K z7FXFdfHGo5OSt%OMG-@9;v$2?4R(XfV-p+ePtE3I%Ual&-Ov#>c{1s7wUp3JLr!Fp z#o|8YraLM?FRbU|>vYzdgPh+*6Sb3194(oULa#O5rg;(1&H+_Z!VqiGuIiC*ll4!9 zCLh=9aB&CiwpzS2FrMYV=CnI@MZ!OO_&qLcbF{1yIjEJc;KJd_A*Lkvm{CU}O0n>(@r#MYS2pqq*!^M(sAJmFqCBr9wAtkhIWbftP;=}AdP(oUbgS(Q;Cj#7z{H|dd?))hC z{{4CcK6cpxae7MYihSdya_l~007b6}7cH7$hj<#BCem|X9~ueH-8F8t-pwqGz>ik!)zmuV|NC8pBOo0 zE3LRqA757&jTE%diwuG$ODRunDmZgIDK6m|2iYxEN9Kk-Zuy!P>!n@^a=7+UKvi88 zYcqSsN~6>&7WUO5S09Uhsob7vxFnGa1#I$V_IAzUZoOc&!)|^XcJ~~-_C_qU+&r93 u3KzdC#_@=pAbi~fjHLKK1#ee&BP++Jrc6%ns{Q-1q^AYbtW|#y{r>=D7zpA3 literal 0 HcmV?d00001 diff --git a/Sprites/Cyclone.png.import b/Sprites/Cyclone.png.import new file mode 100644 index 0000000..ea59891 --- /dev/null +++ b/Sprites/Cyclone.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cdw1vlidvg2yt" +path="res://.godot/imported/Cyclone.png-5ff4ec84cd16e1667f6ef06ee600f279.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Cyclone.png" +dest_files=["res://.godot/imported/Cyclone.png-5ff4ec84cd16e1667f6ef06ee600f279.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/cyclone.gd b/cyclone.gd new file mode 100644 index 0000000..de27aef --- /dev/null +++ b/cyclone.gd @@ -0,0 +1,66 @@ +extends Node2D + + +@export var sprite : Sprite2D +@export var label : Label +@export var wind_speed_label : Label +var wind_speed : float = 30 +#var move_speed : float = 20 +var wind_acceleration : float = 0.2 +var wind_change : float = 0.2 + +var move_acceleration : Vector2 = Vector2(0,0) +var move_change : Vector2 = Vector2(0,0) +var velocity : Vector2 = Vector2(0,0) + +# 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: + label.text = get_category() + wind_speed_label.text = str(round(wind_speed*10)/10) + sprite.rotation_degrees += 40 * delta + if wind_speed <= 0: + end_cyclone() + wind_acceleration += wind_change * delta + wind_acceleration = clampf(wind_acceleration, -5, 5) + wind_speed += wind_acceleration * delta + move_acceleration += move_change * delta + move_acceleration.x = clampf(move_acceleration.x, -5, 5) + move_acceleration.y = clampf(move_acceleration.y, -5, 5) + velocity += move_acceleration * delta + velocity.x = clampf(velocity.x, -3, 3) + velocity.y = clampf(velocity.y, -3, 3) + position += velocity * delta + + +func do_something(): + wind_change = randf_range(-1,1) + move_change = Vector2(randf_range(-1,1),randf_range(-1,1)) + pass + +func end_cyclone(): + queue_free() + +func get_category() -> String: + if wind_speed >= 250: + return "5" + elif wind_speed >= 210: + return "4" + elif wind_speed >= 178: + return "3" + elif wind_speed >= 154: + return "2" + elif wind_speed >= 119: + return "1" + elif wind_speed >= 63: + return "TS" + else: + return "TD" + + +func _on_timer_timeout() -> void: + do_something() diff --git a/cyclone.gd.uid b/cyclone.gd.uid new file mode 100644 index 0000000..e08387c --- /dev/null +++ b/cyclone.gd.uid @@ -0,0 +1 @@ +uid://u353j4q7l26d diff --git a/project.godot b/project.godot index f5920ac..e2a1105 100644 --- a/project.godot +++ b/project.godot @@ -11,7 +11,7 @@ config_version=5 [application] config/name="Cyclone Tracker" -run/main_scene="res://world.tscn" +run/main_scene="uid://biu528mgexdyp" config/features=PackedStringArray("4.4", "GL Compatibility") config/icon="res://icon.svg"