From 2a13b2f8704bb609c7cf3da68bd971bff58df99e Mon Sep 17 00:00:00 2001 From: Harmony Honey Date: Wed, 27 Oct 2021 14:21:22 -0400 Subject: [PATCH] tasty anims(: --- media/image/player/body.png | Bin 0 -> 2702 bytes media/image/player/eye.png | Bin 0 -> 745 bytes media/image/player/hand.png | Bin 0 -> 2266 bytes media/image/player/leg.png | Bin 0 -> 1536 bytes media/image/player/mouth.png | Bin 0 -> 748 bytes src/actor/Player.gd | 33 +- src/actor/Player.tscn | 670 ++++++++++++++++++++++++++++++++++- src/map/0.tscn | 4 + 8 files changed, 693 insertions(+), 14 deletions(-) create mode 100644 media/image/player/body.png create mode 100644 media/image/player/eye.png create mode 100644 media/image/player/hand.png create mode 100644 media/image/player/leg.png create mode 100644 media/image/player/mouth.png diff --git a/media/image/player/body.png b/media/image/player/body.png new file mode 100644 index 0000000000000000000000000000000000000000..7c2e4c3e61b09c0b07063f84b972eb00bb05d9f7 GIT binary patch literal 2702 zcmeHJ`#Tek7al7_vqTnhNkeLg$zm3{WTV{ggh=j2?k$(8T%wd*5_2iZZSI;|uF0hj zt0A&zu`HLE*bFrvpTFb#{oy_DInQ~X^E~H0&pFRYwKO*Y2}%kA000mMZDhUA?0tL^ z;M=!*?G~2-0G>oYLqp3jYZC)GjIp7Xy0(^0C4(A#1ryaBP+21J$TCd6wgaA zMbKHg$<;vE<+x+waEtBcyqJZN@)&sS)-3eP8LF~r;2&ouq|WZMsfh9yq;79R;k1}6-T4v3ReAuxO&*(S~pv`>BIK)eYIkeFCafR#eRP%heFU!VE_Q? z-hbeksICnM00bH^Mwe`(3x3U9^Cd({cduj3d#8n6K+8fgR@Cc!8s2TtD^7W4LB#@* zDowtF4__c=Q>O(E9d_0MF7|gEG4@qMdci1(XcPZROJjBE1$jI12HRgk=zZ}a2na`;DN36u@NpVbN;sKGl~T4=ZKuM z;C4ZCt0X6NF^26GfCzo?kThS+o~LV#K!ErKo^k7>TftuO>2$4L#;}AwhF7lLq6;X+L_BL-a!aVfIIakBA9;r4(ME6({LMC z&2PpZQwaR6$;^LvXYBSkK<_|j<9aLf70tU?CK`uQa>Gu2SEJPj7xv zG;&)WP71hi*ZzB zBDMiz1ra>RUi(HaF-)E!VP!!ekfxSaLu@-XwrmNGM1CM3qgrrVsx~$@uAO)C0w!y$ zU^m&TCSWT69Uy1@x01|7PY8PU>0&EPX{tE@5*r&E9u?IX#u$Z>O@}8oH#HgLBF5(8 z*cA&4pV-K?%oELfYidJhZ*X{jPft(xcXoF6=jG)YFJd&{@W!dhNs^&epim~Q2lghnvN!vz!-cp%7q(W3oPtcvjvUCvBMQW8pErmkKWPi4v$b0sz_~pyHR1(&w{x1%SebCbKCuH*Vkla!b^-bs^Md4*m zPE%7;$oib|o8Xz}{cJLCQR0^DK%7cim^O|LBNB;Dfhu;yH*d5?3CP?Dwh8TT9g;Hp zw;K-(kBE5nmMCW6-~f@9uJGYEt6eKUnY#O}`;lgpth6-CSB2;q9-hT!vzth7!Q=Zv zol}`8MWw+QsywwDv7%T9A~`4W`A0u|SCLhx@Pl0UD&eq;;Nbu1 ze_ev5-!dNXuWb=&%agTmb@iT+e1wyu;~)+i^rEdzhrK#uW@aX|zYdxR1OsKgV33T` z(HYKz`?Q37=k51YUkkP65xmbk@JM?8U8-nPbMp_B`Aq}2V`}1Qn`|~^c6RjR$H!L7 z@elgt4Gj&ONTe|;Rf^ppqPo)Bs@>M!zPPqV#);XraJg~&QC@!j2VBT+f8Jro??H#mr%^(r@gn4TW8$Nk$efWG>yE;%_l_KvfHi=(4Qbo7P& z5~7MLQu}uwm00VWQo&OtJg6F` zEj%VXv1}VIZwfc4so0|Mv2cee7ZkpB^>~4wTuv7F!(~&641u>!IFS6s@n5W_OkG%B zPEb$h)SvsfFYzZb(@}}7;w@N27$r=AafTTpL=OWphon2bbjgYm`Q6|7Q)DGqmDykg zlO>X*u;~yrC)E=YHPI6?(yX}s|Jzqf>+3C4_lKe4!Es*NpmGB~^N#br?>L_aP<9Vz znPPr+5Bgt4&lk1eF4V5U$$3$WZ^7w0G~O98GxjZ&iF-8-o{ykr7V0m-H(%)4&pwB@ zpsdPQUBLDZw9EP0g)gADXaJj+h*kgq010qNS#tmYJ%j)NJ%j<(tgmzc009k2L_t(o zh3(iqPC`Kx2GHY##D>ID3koer)P_W9sH|KX#ExZvOVDkQSfGin01{h3Etr=)`4^_J zm@m1_OzxSR$!q2v*_;#H0L?#Pnh6)MNQ&v-_WlK2EoR<+SjC0lrE#i0iGt bUVWQo&OtJg6F` zEj%VXv1}VIZwfc4so0|Mv2cee7ZkpB^>~4wTuv7F!(~&641u>!IFS6s@n5W_OkG%B zPEb$h)SvsfFYzZb(@}}7;w@N27$r=AafTTpL=OWphon2bbjgYm`Q6|7Q)DGqmDykg zlO>X*u;~yrC)E=YHPI6?(yX}s|Jzqf>+3C4_lKe4!Es*NpmGB~^N#br?>L_aP<9Vz znPPr+5Bgt4&lk1eF4V5U$$3$WZ^7w0G~O98GxjZ&iF-8-o{ykr7V0m-H(%)4&pwB@ zpsdPQUBLDZw9EP0g)gADXaJj+h*kgq010qNS#tmYJ%j)NJ%j<(tgmzc00#a^L_t(| zoaLQgY}3~j$3J$!gc@mC8Wfzi2DH`53ycbiwpJim*A^Zchjjy~&_$ir!Y0u^v{~O8 ztxs)n9}C?BmBK2JSk;2m0gXl|+Sm(I5+ap=rpiH7c9s^DDhkG~*1 zU+7mlZ}z$8e0+WH{oQ}R8vL&iP!B8wa*kt}RRPxl0E>a20c(K!fu)F&$4l(p8~G}{{afvgILPG1l|K$G0nzZ zqhA4^pbu~+8wOqneyp6UsvZKmaSO88t^=O$a*50dn{raox{-gG+P zg9KgJC<-0bpL~#*OS_E4A=NK|ybqFcZJ$ua;D5Gf+53SW%rNPPuAcylfPc=_K>#>~ z`^yp zIyx#xjvSF4J9bDY6!Nl`UZH|X>Lr*Z1NFe7(Wo3cbVw#9Cd!6bO37qWcJ10Ffk413 zs4tfbv{O5na5yZ9L_#u|Ow}NZ)z{Z2n>KCo0_b(h7@O7sW14}iSg}F|1_rEyoT_|2 zFC85nUO;_)HlQzQ2C#ACMj06yQH42GU0q$;ZR;?zEK#dX%f;hy$!4>j!MvrjXU}Rw zZ7l_JxmKa8SFe__u`$nK-cnarmnP7IrGUPuQQ*?0OJ!(i$QjIAQfyPdq{Jh9k4Aw# zJw2{jiiqi`6np;-#W3qpm{HocZJTS3x2dD$UC5q2dt9@dR>@>itJi;EDp2bSZ-aw_uGy8;_U+p>fNldb4HdxhtWtAx zGc7GGHeFg(TU(ok+Xuk_t;6#6zIZ%t)17r~-MWhjo9=WiCA@~CWSa7Kp@EN z=YXn~!Y{8Pg*a=0drGd}%~j#>{8+-*iZh7W6K_q!!^1Y+sYxl$Z-SUvXKPBOQa0VG zNg>X!fLsuBR??c%=`9lQ^DKLL|t3b2a?7aBf4-F03cBumt;MA#8wq074 zh;Z`cN!xBGfm*Ll$B!Sk?b53H`}?_i^{Q>RlR$I8|808i?(XKsjT<&yTGg>*$28o2 z0pIT;>$mASlgaqDmQGAeaP;U=4cE6Zw0?jq7K=$PmvcRre20{lly72grkK>j3Wdml z0|#95yG@x)MxxQE2GEa-t7{O`23Reqv9ZzV28Uwp+qX{xrT~8^1`4oWqpqfRXfj32NTRLvadA?4F-d9;=~Cj zFtgdLY}l|t3#I^nE(H|ekXFGe$$r#N%;In1VTOQ&PXsEIb$tN+OZ)q)kmG zld@{nDs7mvK4S-fe=7$e?d|QVz5nUcr=_8xK^vw3kIe=Y%)uu0U>X}6W&i&DRtNus zgM-r6*5(CB!5mdATOWB8l*D2&IehrAjE|4c31Xp8kc$^D%I@8}rKYCFE0_h$U43P% z1&e%AIZ|E0^DTxDaOJ)zmkB oMKBkkf;qZU{Kl_a&4@4bEk`@krZpf2Bme*a07*qoM6N<$g6Z{4lK=n! literal 0 HcmV?d00001 diff --git a/media/image/player/leg.png b/media/image/player/leg.png new file mode 100644 index 0000000000000000000000000000000000000000..1f1e40a1fa720748c1d72349d016fa5d9d7327ad GIT binary patch literal 1536 zcmb`H>pRm60LOo`DXAT~Hj-0mGM8a%D3W9`X42GL#%gDz(!s=(ry*ogbaNzfTQQg1 znM>)XmJmj48l72oG}<{eNs&$+{SW8G_wwfZ>hnC`%tIs(xTcXN003};r~Bd6^jMX@ z#+p?h{%BzV0Fa9(4;(lYd)UKmD*=DN-fp+Oy)_1H2LR^RIQ0Ei zW^l{DJbWUp4zl$Pu)fPJ`RCpa^3GxFzDRdSEGAK2k>7$;o9d5y?i+C6Z)(X$?OzASMhIkL%ay)ajvFDdvs>O% zP2wM&i~SL_NPlv;n~Zek8I@Z*n>jZ`ZbnCGI`ArAm8lw{GfhG-aJ#z}6q9k! z>CxG~%R0+{PA!ueNJ_5cnEFlRjeGTT8*w{Dx;nTKUChgxwts(2QoNN)YyU49rPJLp zp%W!csLMk3Le~e!;)gyl z9K0x}B;4SgO}7JWRw8uC;Fr|&Q$oPczcjyCo=CST;YR=kd7PuGP}W6z2F3!w-n5^B zh-&K20sw3W!F|7fLg7D!G*3p{Dv!{s*XxM_bzE6@nt6m|;;QHN7=6ZEdr8LZgN)ED zozlElVNeve=)49dT1gmQ`=G(ZXM|&-c@yJS=sn~%RBO|zl+v_V;f4(7g%5@KovIb^ zI2hBVV7W-!V^2i0&-9*!>VjnCzLhOYCT)Ii8VGK2*-an|+ydrSI;F1&?VA~i{t8bB zC0R~>(w|O4JEI9ap*ApHwZSQHTrocCR zNN4|M7X#-B=gp%js87FdtJD9v6_&Cv@Z=M@ji>MzvH`?VO{=oI<5gWxw}A3HnR2d2FGd@n;1B=x1IqoP=&qoe3z;W%qlWEC&YU}ERgF{0dR5T^`78R`s4-cnCMb)+Fc|2Tx{-|QCPa&QJ6*B`T zbzu-wQ&S>|bc0l3h(MH7S7&j#rcZ1cELPskOqf_K=9KXaz10%dFHJW)kr8)qe@LBx znD7`M7GYM+`irNKb{mTm*(8u&5EwkBs+@fWvuewaYY4K#cX@$j1%5QK#TuEmtPW-+ zZH(896+aslY-YEd*U0LJ`id>fdo5jWB_H2qsfNZ`l=mjCLwGhxMLN*=+)owj5MJDH z)Ix2i-$ZhbjxE(RPUJ>JMXB+1Y$L4W)+am#@qwYR?>H0BYB!nsW_ZN{LPbtp&#%QD z8}@QVPGkzdIi#z%mSrciG?k}!pGX!uUPv7a7oC}=h_J14@pIkTGmHRlJUH$;!4~uw zntcadvL4*pczfG-?rRndTo4pge!rA`jh3R7$-0I8m%n#(eHrFnX4qX*DLNLIwR!DA z{g~*$$+>)OX?7CIhKN&=?zBk-s;$G6HXqmzXeqg~KygG7w|XJ~0Z($Tbvt(PKU#_4 Awg3PC literal 0 HcmV?d00001 diff --git a/media/image/player/mouth.png b/media/image/player/mouth.png new file mode 100644 index 0000000000000000000000000000000000000000..d6e4952d38cc0cb0cb527d327b9f91d6c9a452ed GIT binary patch literal 748 zcmVX1^@s6FWx?20004kX+uL$b5ch_ zAW20-HZeIiHZ3wPF#rH4k#&*JD@0Kg$3HWO#)x7;EG7*rVWQo&OtJg6F` zEj%VXv1}VIZwfc4so0|Mv2cee7ZkpB^>~4wTuv7F!(~&641u>!IFS6s@n5W_OkG%B zPEb$h)SvsfFYzZb(@}}7;w@N27$r=AafTTpL=OWphon2bbjgYm`Q6|7Q)DGqmDykg zlO>X*u;~yrC)E=YHPI6?(yX}s|Jzqf>+3C4_lKe4!Es*NpmGB~^N#br?>L_aP<9Vz znPPr+5Bgt4&lk1eF4V5U$$3$WZ^7w0G~O98GxjZ&iF-8-o{ykr7V0m-H(%)4&pwB@ zpsdPQUBLDZw9EP0g)gADXaJj+h*kgq010qNS#tmYJ%j)NJ%j<(tgmzc009t5L_t(Y ziM`f4P6II%h2bx*(?Jyq2usKU2rV@1f~g&%G_1b%-;Z-~gR!eS$YU;0~i2wU(-lYy8yoRrSwSI>vYlNb(5%I)E02 z{{Sp{Sk+poK?X?j`6@^kUl~DD@$$?m;5j2C`KhX1OwB9nS$zUuPe@Vr`R_?*S+Ij eoa@Hxiu?k8>r)Rz`brW20000 0 and btn.d("jump")) or jump_clock > jump_time - 0.1: velocity.y = -jump_speed @@ -153,7 +159,7 @@ func _physics_process(delta): # hit box if btn.p("action"): - audio_slap.play() + #audio_slap.play() for i in hit_area.get_overlapping_areas(): var o = i.owner if o is Box: @@ -162,7 +168,7 @@ func _physics_process(delta): else: o.set_dir(dir + (3 if dir_x == 1 else 1)) o.move_clock = 0 - audio_punch.play() + #audio_punch.play() break print(i.owner.name, "hit") @@ -174,8 +180,21 @@ func _physics_process(delta): # camera camera.position = position + # animation + if is_floor: + if joy.x != 0: + anim.play("run") + else: + anim.play("idle") + + # blink + blink_clock -= delta + if blink_clock < delta: + anim_blink.play("blink") + blink_clock = rand_range(2, 15) + # sprite - sprite.rotation = lerp_angle(sprite.rotation, deg2rad(target_angle), delta * sprite_weight) + sprites.rotation = lerp_angle(sprites.rotation, deg2rad(target_angle), delta * sprite_weight) # debug label readout[0] = "dir: " + str(dir) diff --git a/src/actor/Player.tscn b/src/actor/Player.tscn index 6912776..50af6b0 100644 --- a/src/actor/Player.tscn +++ b/src/actor/Player.tscn @@ -1,9 +1,14 @@ -[gd_scene load_steps=9 format=2] +[gd_scene load_steps=18 format=2] +[ext_resource path="res://media/image/player/mouth.png" type="Texture" id=1] [ext_resource path="res://src/actor/Player.gd" type="Script" id=2] [ext_resource path="res://media/audio/sfx/slap0.wav" type="AudioStream" id=3] [ext_resource path="res://media/audio/sfx/player_punch0.wav" type="AudioStream" id=4] +[ext_resource path="res://media/image/player/leg.png" type="Texture" id=5] [ext_resource path="res://media/image/player.png" type="Texture" id=6] +[ext_resource path="res://media/image/player/body.png" type="Texture" id=7] +[ext_resource path="res://media/image/player/eye.png" type="Texture" id=8] +[ext_resource path="res://media/image/player/hand.png" type="Texture" id=9] [sub_resource type="RectangleShape2D" id=1] extents = Vector2( 30, 30 ) @@ -17,6 +22,605 @@ extents = Vector2( 35, 35 ) [sub_resource type="RectangleShape2D" id=4] extents = Vector2( 2, 15 ) +[sub_resource type="Animation" id=6] +resource_name = "idle" +length = 2.0 +loop = true +tracks/0/type = "bezier" +tracks/0/path = NodePath("Sprites/Node2D/hand2:position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( 124.968, -0.25, 0, 0.25, 0, 139.951, -0.25, 0, 0.25, 0, 124.968, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Sprites/Node2D/hand2:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 30.7815, -0.25, 0, 0.25, 0, 30.7815, -0.25, 0, 0.25, 0, 30.7815, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("Sprites/Node2D/hand2:rotation_degrees") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("Sprites/Node2D/body:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( -0.5, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/4/type = "bezier" +tracks/4/path = NodePath("Sprites/Node2D/body:position:y") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"points": PoolRealArray( -31, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/5/type = "bezier" +tracks/5/path = NodePath("Sprites/Node2D/body:rotation_degrees") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/6/type = "bezier" +tracks/6/path = NodePath("Sprites/Node2D/body/eye:position:x") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"points": PoolRealArray( -12.5, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/7/type = "bezier" +tracks/7/path = NodePath("Sprites/Node2D/body/eye:position:y") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"points": PoolRealArray( -12, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/8/type = "bezier" +tracks/8/path = NodePath("Sprites/Node2D/body/eye:rotation_degrees") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/9/type = "bezier" +tracks/9/path = NodePath("Sprites/Node2D/body/eye2:position:x") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/keys = { +"points": PoolRealArray( 75.5, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/10/type = "bezier" +tracks/10/path = NodePath("Sprites/Node2D/body/eye2:position:y") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/keys = { +"points": PoolRealArray( -12, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/11/type = "bezier" +tracks/11/path = NodePath("Sprites/Node2D/body/eye2:rotation_degrees") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/12/type = "bezier" +tracks/12/path = NodePath("Sprites/Node2D/body/mouth:rotation_degrees") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 2 ) +} +tracks/13/type = "bezier" +tracks/13/path = NodePath("Sprites/Node2D/leg:position:x") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/keys = { +"points": PoolRealArray( -87.9082, -0.25, 0, 0.25, 0, -100.192, -0.25, 0, 0.25, 0, -87.9082, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/14/type = "bezier" +tracks/14/path = NodePath("Sprites/Node2D/leg:position:y") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/imported = false +tracks/14/enabled = true +tracks/14/keys = { +"points": PoolRealArray( 93.7893, -0.25, 0, 0.25, 0, 85.6, -0.25, 0, 0.25, 0, 93.7893, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/15/type = "bezier" +tracks/15/path = NodePath("Sprites/Node2D/leg:rotation_degrees") +tracks/15/interp = 1 +tracks/15/loop_wrap = true +tracks/15/imported = false +tracks/15/enabled = true +tracks/15/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 20, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/16/type = "bezier" +tracks/16/path = NodePath("Sprites/Node2D/leg2:position:x") +tracks/16/interp = 1 +tracks/16/loop_wrap = true +tracks/16/imported = false +tracks/16/enabled = true +tracks/16/keys = { +"points": PoolRealArray( 86.9052, -0.25, 0, 0.25, 0, 97.6145, -0.25, 0, 0.25, 0, 86.9052, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/17/type = "bezier" +tracks/17/path = NodePath("Sprites/Node2D/leg2:position:y") +tracks/17/interp = 1 +tracks/17/loop_wrap = true +tracks/17/imported = false +tracks/17/enabled = true +tracks/17/keys = { +"points": PoolRealArray( 93.7893, -0.25, 0, 0.25, 0, 85.5998, -0.25, 0, 0.25, 0, 93.7893, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/18/type = "bezier" +tracks/18/path = NodePath("Sprites/Node2D/leg2:rotation_degrees") +tracks/18/interp = 1 +tracks/18/loop_wrap = true +tracks/18/imported = false +tracks/18/enabled = true +tracks/18/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -20, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/19/type = "bezier" +tracks/19/path = NodePath("Sprites/Node2D/hand:position:x") +tracks/19/interp = 1 +tracks/19/loop_wrap = true +tracks/19/imported = false +tracks/19/enabled = true +tracks/19/keys = { +"points": PoolRealArray( -105.913, -0.25, 0, 0.25, 0, -122.394, -0.25, 0, 0.25, 0, -105.913, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/20/type = "bezier" +tracks/20/path = NodePath("Sprites/Node2D/hand:position:y") +tracks/20/interp = 1 +tracks/20/loop_wrap = true +tracks/20/imported = false +tracks/20/enabled = true +tracks/20/keys = { +"points": PoolRealArray( 30.4665, -0.25, 0, 0.25, 0, 30.4665, -0.25, 0, 0.25, 0, 30.4665, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/21/type = "bezier" +tracks/21/path = NodePath("Sprites/Node2D/hand:rotation_degrees") +tracks/21/interp = 1 +tracks/21/loop_wrap = true +tracks/21/imported = false +tracks/21/enabled = true +tracks/21/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/22/type = "bezier" +tracks/22/path = NodePath("Sprites/Node2D:position:x") +tracks/22/interp = 1 +tracks/22/loop_wrap = true +tracks/22/imported = false +tracks/22/enabled = true +tracks/22/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/23/type = "bezier" +tracks/23/path = NodePath("Sprites/Node2D:position:y") +tracks/23/interp = 1 +tracks/23/loop_wrap = true +tracks/23/imported = false +tracks/23/enabled = true +tracks/23/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 2.24493, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/24/type = "bezier" +tracks/24/path = NodePath("Sprites/Node2D/body/mouth:scale:x") +tracks/24/interp = 1 +tracks/24/loop_wrap = true +tracks/24/imported = false +tracks/24/enabled = true +tracks/24/keys = { +"points": PoolRealArray( 1, -0.25, 0, 0.25, 0, 1.27453, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/25/type = "bezier" +tracks/25/path = NodePath("Sprites/Node2D/body/mouth:scale:y") +tracks/25/interp = 1 +tracks/25/loop_wrap = true +tracks/25/imported = false +tracks/25/enabled = true +tracks/25/keys = { +"points": PoolRealArray( 1, -0.25, 0, 0.25, 0, 1.27453, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} + +[sub_resource type="Animation" id=7] +resource_name = "jump" +length = 0.6 +loop = true +tracks/0/type = "bezier" +tracks/0/path = NodePath("Sprites/Node2D/leg:position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( -106.263, -0.25, 0, 0.25, 0, -99.2625, -0.25, 0, 0.25, 0, -106.263, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Sprites/Node2D/leg:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 81.0537, -0.25, 0, 0.25, 0, 87.5537, -0.25, 0, 0.25, 0, 81.0537, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("Sprites/Node2D/leg:rotation_degrees") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( 30, -0.25, 0, 0.25, 0, 20, -0.25, 0, 0.25, 0, 30, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6 ) +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("Sprites/Node2D/leg2:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( 103.761, -0.25, 0, 0.25, 0, 100.761, -0.25, 0, 0.25, 0, 103.761, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6 ) +} +tracks/4/type = "bezier" +tracks/4/path = NodePath("Sprites/Node2D/leg2:position:y") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"points": PoolRealArray( 82.552, -0.25, 0, 0.25, 0, 84.052, -0.25, 0, 0.25, 0, 82.552, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6 ) +} +tracks/5/type = "bezier" +tracks/5/path = NodePath("Sprites/Node2D/leg2:rotation_degrees") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"points": PoolRealArray( -30, -0.25, 0, 0.25, 0, -25, -0.25, 0, 0.25, 0, -30, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6 ) +} +tracks/6/type = "bezier" +tracks/6/path = NodePath("Sprites/Node2D:position:x") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/7/type = "bezier" +tracks/7/path = NodePath("Sprites/Node2D:position:y") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/8/type = "bezier" +tracks/8/path = NodePath("Sprites/Node2D/hand:position:x") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/keys = { +"points": PoolRealArray( -132.821, -0.25, 0, 0.25, 0, -145.821, -0.25, 0, 0.25, 0, -132.821, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6 ) +} +tracks/9/type = "bezier" +tracks/9/path = NodePath("Sprites/Node2D/hand:position:y") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/keys = { +"points": PoolRealArray( -4.85117, -0.25, 0, 0.25, 0, -14.3512, -0.25, 0, 0.25, 0, -4.85117, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6 ) +} +tracks/10/type = "bezier" +tracks/10/path = NodePath("Sprites/Node2D/hand2:position:x") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/keys = { +"points": PoolRealArray( 135.899, -0.25, 0, 0.25, 0, 144.899, -0.25, 0, 0.25, 0, 135.899, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6 ) +} +tracks/11/type = "bezier" +tracks/11/path = NodePath("Sprites/Node2D/hand2:position:y") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/keys = { +"points": PoolRealArray( -2.8544, -0.25, 0, 0.25, 0, -9.8544, -0.25, 0, 0.25, 0, -2.8544, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6 ) +} +tracks/12/type = "bezier" +tracks/12/path = NodePath("Sprites/Node2D/body/mouth:scale:x") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/keys = { +"points": PoolRealArray( 1, -0.25, 0, 0.25, 0, 1.25, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6 ) +} +tracks/13/type = "bezier" +tracks/13/path = NodePath("Sprites/Node2D/body/mouth:scale:y") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/keys = { +"points": PoolRealArray( 1, -0.25, 0, 0.25, 0, 1.25, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6 ) +} + +[sub_resource type="Animation" id=5] +resource_name = "run" +length = 1.2 +loop = true +tracks/0/type = "bezier" +tracks/0/path = NodePath("Sprites/Node2D/leg:position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( -87.9082, -0.25, 0, 0.25, 0, -106.263, -0.25, 0, 0.25, 0, -87.9082, -0.25, 0, 0.25, 0, -73.2248, -0.25, 0, 0.25, 0, -87.9082, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6, 0.9, 1.2 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Sprites/Node2D/leg:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 93.7893, -0.25, 0, 0.25, 0, 81.0537, -0.25, 0, 0.25, 0, 93.7893, -0.25, 0, 0.25, 0, 81.0901, -0.25, 0, 0.25, 0, 93.7893, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6, 0.9, 1.2 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("Sprites/Node2D/leg:rotation_degrees") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 30, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, -30, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6, 0.9, 1.2 ) +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("Sprites/Node2D/leg2:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( 86.9052, -0.25, 0, 0.25, 0, 103.761, -0.25, 0, 0.25, 0, 86.9052, -0.25, 0, 0.25, 0, 73.8091, -0.25, 0, 0.25, 0, 86.9052, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6, 0.9, 1.2 ) +} +tracks/4/type = "bezier" +tracks/4/path = NodePath("Sprites/Node2D/leg2:position:y") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"points": PoolRealArray( 93.7893, -0.25, 0, 0.25, 0, 82.552, -0.25, 0, 0.25, 0, 93.7893, -0.25, 0, 0.25, 0, 81.4869, -0.25, 0, 0.25, 0, 93.7893, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6, 0.9, 1.2 ) +} +tracks/5/type = "bezier" +tracks/5/path = NodePath("Sprites/Node2D/leg2:rotation_degrees") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -30, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 30, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6, 0.9, 1.2 ) +} +tracks/6/type = "bezier" +tracks/6/path = NodePath("Sprites/Node2D:position:x") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6, 0.9, 1.2 ) +} +tracks/7/type = "bezier" +tracks/7/path = NodePath("Sprites/Node2D:position:y") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -8.40897, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, -8.40897, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6, 0.9, 1.2 ) +} +tracks/8/type = "bezier" +tracks/8/path = NodePath("Sprites/Node2D/hand:position:x") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/keys = { +"points": PoolRealArray( -105.913, -0.25, 0, 0.25, 0, -132.821, -0.25, 0, 0.25, 0, -105.913, -0.25, 0, 0.25, 0, -137.026, -0.25, 0, 0.25, 0, -105.913, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6, 0.9, 1.2 ) +} +tracks/9/type = "bezier" +tracks/9/path = NodePath("Sprites/Node2D/hand:position:y") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/keys = { +"points": PoolRealArray( 30.4665, -0.25, 0, 0.25, 0, -4.85117, -0.25, 0, 0.25, 0, 30.4665, -0.25, 0, 0.25, 0, 20.3757, -0.25, 0, 0.25, 0, 30.4665, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6, 0.9, 1.2 ) +} +tracks/10/type = "bezier" +tracks/10/path = NodePath("Sprites/Node2D/hand2:position:x") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/keys = { +"points": PoolRealArray( 124.968, -0.25, 0, 0.25, 0, 135.899, -0.25, 0, 0.25, 0, 124.968, -0.25, 0, 0.25, 0, 135.059, -0.25, 0, 0.25, 0, 124.968, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6, 0.9, 1.2 ) +} +tracks/11/type = "bezier" +tracks/11/path = NodePath("Sprites/Node2D/hand2:position:y") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/keys = { +"points": PoolRealArray( 30.7815, -0.25, 0, 0.25, 0, -2.8544, -0.25, 0, 0.25, 0, 30.7815, -0.25, 0, 0.25, 0, 24.0543, -0.25, 0, 0.25, 0, 30.7815, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6, 0.9, 1.2 ) +} +tracks/12/type = "bezier" +tracks/12/path = NodePath("Sprites/Node2D/body/mouth:scale:x") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/keys = { +"points": PoolRealArray( 1.25, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1.25, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1.25, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6, 0.9, 1.2 ) +} +tracks/13/type = "bezier" +tracks/13/path = NodePath("Sprites/Node2D/body/mouth:scale:y") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/keys = { +"points": PoolRealArray( 1.25, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1.25, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1.25, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3, 0.6, 0.9, 1.2 ) +} + +[sub_resource type="Animation" id=8] +resource_name = "blink" +length = 0.8 +tracks/0/type = "bezier" +tracks/0/path = NodePath("Sprites/Node2D/body/eye:scale:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( 1, -0.25, 0, 0.5, 0, 2, -0.25, 0, 0.5, 0, 1, -0.25, 0, 0.5, 0 ), +"times": PoolRealArray( 0, 0.4, 0.8 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Sprites/Node2D/body/eye:scale:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 1, -0.25, 0, 0.5, 0, 0.1, -0.25, 0, 0.5, 0, 1, -0.25, 0, 0.5, 0 ), +"times": PoolRealArray( 0, 0.4, 0.8 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("Sprites/Node2D/body/eye2:scale:x") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( 1, -0.25, 0, 0.5, 0, 2, -0.25, 0, 0.5, 0, 1, -0.25, 0, 0.5, 0 ), +"times": PoolRealArray( 0, 0.4, 0.8 ) +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("Sprites/Node2D/body/eye2:scale:y") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( 1, -0.25, 0, 0.5, 0, 0.1, -0.25, 0, 0.5, 0, 1, -0.25, 0, 0.5, 0 ), +"times": PoolRealArray( 0, 0.4, 0.8 ) +} + [node name="Player" type="KinematicBody2D" groups=[ "player", ]] @@ -29,9 +633,9 @@ sprite_weight = 6.0 [node name="DebugCanvas" type="CanvasLayer" parent="."] [node name="Labels" type="Control" parent="DebugCanvas"] -margin_left = 10.0 +margin_left = 10.2806 margin_top = 10.0 -margin_right = 50.0 +margin_right = 50.2806 margin_bottom = 50.0 rect_scale = Vector2( 2, 2 ) __meta__ = { @@ -48,10 +652,6 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Sprite" type="Sprite" parent="."] -scale = Vector2( 0.25, 0.25 ) -texture = ExtResource( 6 ) - [node name="CollisionShape2D" type="CollisionShape2D" parent="."] shape = SubResource( 1 ) @@ -109,5 +709,61 @@ stream = ExtResource( 3 ) [node name="AudioPunch" type="AudioStreamPlayer2D" parent="."] stream = ExtResource( 4 ) +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +autoplay = "idle" +playback_default_blend_time = 0.1 +anims/idle = SubResource( 6 ) +anims/jump = SubResource( 7 ) +anims/run = SubResource( 5 ) + +[node name="AnimationBlink" type="AnimationPlayer" parent="."] +anims/blink = SubResource( 8 ) + +[node name="Sprite" type="Sprite" parent="."] +visible = false +modulate = Color( 1, 1, 1, 0.184314 ) +scale = Vector2( 0.25, 0.25 ) +texture = ExtResource( 6 ) + +[node name="Sprites" type="Node2D" parent="."] + +[node name="Node2D" type="Node2D" parent="Sprites"] +scale = Vector2( 0.25, 0.25 ) + +[node name="hand2" type="Sprite" parent="Sprites/Node2D"] +position = Vector2( 144.793, -9.77163 ) +texture = ExtResource( 9 ) + +[node name="body" type="Sprite" parent="Sprites/Node2D"] +position = Vector2( -0.5, -31 ) +texture = ExtResource( 7 ) + +[node name="eye" type="Sprite" parent="Sprites/Node2D/body"] +position = Vector2( -12.5, -12 ) +texture = ExtResource( 8 ) + +[node name="eye2" type="Sprite" parent="Sprites/Node2D/body"] +position = Vector2( 75.5, -12 ) +texture = ExtResource( 8 ) + +[node name="mouth" type="Sprite" parent="Sprites/Node2D/body"] +position = Vector2( 31, 44 ) +scale = Vector2( 1.24704, 1.24704 ) +texture = ExtResource( 1 ) + +[node name="leg" type="Sprite" parent="Sprites/Node2D"] +position = Vector2( -99.3453, 87.4769 ) +rotation = 0.35113 +texture = ExtResource( 5 ) + +[node name="leg2" type="Sprite" parent="Sprites/Node2D"] +position = Vector2( 100.797, 84.0343 ) +rotation = -0.437364 +texture = ExtResource( 5 ) + +[node name="hand" type="Sprite" parent="Sprites/Node2D"] +position = Vector2( -145.668, -14.2388 ) +texture = ExtResource( 9 ) + [connection signal="area_entered" from="BodyArea" to="." method="_on_BodyArea_area_entered"] [connection signal="body_entered" from="PushArea" to="." method="_on_PushArea_body_entered"] diff --git a/src/map/0.tscn b/src/map/0.tscn index cbba115..460f756 100644 --- a/src/map/0.tscn +++ b/src/map/0.tscn @@ -56,6 +56,10 @@ dir = 2 position = Vector2( -450, 750 ) dir = 1 +[node name="Box9" parent="Actors" instance=ExtResource( 4 )] +position = Vector2( 650, 1450 ) +dir = 1 + [node name="Exit" parent="Actors" instance=ExtResource( 7 )] position = Vector2( 1150, -300 )