From 2cf8a44b8fa04f04a3dabe444b23ebb71a7bf34b Mon Sep 17 00:00:00 2001 From: Noah Petherbridge Date: Fri, 3 Sep 2021 19:54:10 -0700 Subject: [PATCH] Animations for Thief + No More Moonwalking * Adds walking animations for the Thief. * Mobile doodads no longer moonwalk: their A.I. used to wait for the animation to finish before setting the appropriate animation, so when it changed directions it would "moonwalk" for a time. Their A.I. is now updated to cancel the animation if they change directions so to immediately play the correct animation. --- dev-assets/doodads/azulian/azulian.js | 11 ++++++++++- dev-assets/doodads/bird/bird.js | 11 ++++++++++- dev-assets/doodads/thief/Makefile | 1 + dev-assets/doodads/thief/stand-left.png | Bin 1520 -> 1523 bytes dev-assets/doodads/thief/stand-right.png | Bin 1531 -> 1536 bytes dev-assets/doodads/thief/thief.js | 18 ++++++++++++++---- dev-assets/doodads/thief/walk-left-1.png | Bin 0 -> 1502 bytes dev-assets/doodads/thief/walk-left-2.png | Bin 0 -> 1463 bytes dev-assets/doodads/thief/walk-left-3.png | Bin 0 -> 1533 bytes dev-assets/doodads/thief/walk-right-1.png | Bin 0 -> 1541 bytes dev-assets/doodads/thief/walk-right-2.png | Bin 0 -> 1480 bytes dev-assets/doodads/thief/walk-right-3.png | Bin 0 -> 1519 bytes 12 files changed, 35 insertions(+), 6 deletions(-) create mode 100644 dev-assets/doodads/thief/walk-left-1.png create mode 100644 dev-assets/doodads/thief/walk-left-2.png create mode 100644 dev-assets/doodads/thief/walk-left-3.png create mode 100644 dev-assets/doodads/thief/walk-right-1.png create mode 100644 dev-assets/doodads/thief/walk-right-2.png create mode 100644 dev-assets/doodads/thief/walk-right-3.png diff --git a/dev-assets/doodads/azulian/azulian.js b/dev-assets/doodads/azulian/azulian.js index 54db87e..bd63b64 100644 --- a/dev-assets/doodads/azulian/azulian.js +++ b/dev-assets/doodads/azulian/azulian.js @@ -1,7 +1,8 @@ // Azulian (Red and Blue) var playerSpeed = 12, animating = false, - direction = "right"; + direction = "right", + lastDirection = "right"; function setupAnimations(color) { var left = color === 'blue' ? 'blu-wl' : 'red-wl', @@ -49,9 +50,17 @@ function main() { var Vx = parseFloat(playerSpeed * (direction === "left" ? -1 : 1)); Self.SetVelocity(Vector(Vx, 0.0)); + // If we changed directions, stop animating now so we can + // turn around quickly without moonwalking. + if (direction !== lastDirection) { + Self.StopAnimation(); + } + if (!Self.IsAnimating()) { Self.PlayAnimation("walk-" + direction, null); } + + lastDirection = direction; }, 100); } diff --git a/dev-assets/doodads/bird/bird.js b/dev-assets/doodads/bird/bird.js index e6d38c8..5d94ebe 100644 --- a/dev-assets/doodads/bird/bird.js +++ b/dev-assets/doodads/bird/bird.js @@ -5,7 +5,8 @@ function main() { var Vx = Vy = 0; var altitude = Self.Position().Y; // original height in the level - var direction = "left"; + var direction = "left", + lastDirection = "left"; var states = { flying: 0, diving: 1, @@ -51,9 +52,17 @@ function main() { var Vx = parseFloat(speed * (direction === "left" ? -1 : 1)); Self.SetVelocity(Vector(Vx, 0.0)); + // If we changed directions, stop animating now so we can + // turn around quickly without moonwalking. + if (direction !== lastDirection) { + Self.StopAnimation(); + } + if (!Self.IsAnimating()) { Self.PlayAnimation("fly-" + direction, null); } + + lastDirection = direction; }, 100); } diff --git a/dev-assets/doodads/thief/Makefile b/dev-assets/doodads/thief/Makefile index fc6b00c..99bc045 100644 --- a/dev-assets/doodads/thief/Makefile +++ b/dev-assets/doodads/thief/Makefile @@ -3,6 +3,7 @@ ALL: build .PHONY: build build: doodad convert -t "Thief" stand-right.png stand-left.png \ + walk-right-{1,2,3}.png walk-left-{1,2,3}.png \ thief.doodad doodad install-script thief.js thief.doodad diff --git a/dev-assets/doodads/thief/stand-left.png b/dev-assets/doodads/thief/stand-left.png index 9e58a9876cdbe32025faebd6929d62cb2ed764ba..9dc96b5e86033717e44e7963b530e44fc0797b25 100644 GIT binary patch delta 1384 zcmV-u1(*8p3-b$*Bs+v@LqkwWLqi~Na&Km7Y-IodD3N`UJxIeq9K~PLYE>!@b`Wt0 zSe-10ia2T&icq1{3avVrT>1q~8j)Wte_m#)85jpt%`#H)n3&0~iosWOBLD%N7?zl+ z&n1%yc#f}o`1pDkax9<%6_Voz|AXJ%n)%5I zHz^bYI$mu1V+0890*#t&e;?a+;{@H#Q!%Sl8*R9M69m`_L)Q5?s=vn(Eyp`0$# z!4fiCLd0NC6-0R0CFroXXipM?K@fQmItbkY4?={H2wlQMAbN-{rk5dQSeDrxg(UqX7WOoCX{Kf*`<*Gh<|vB#w&AI5S2RoUCsff-qF}Fi{-G z;rEO{4i8JV9o#fc^z`&7SuFyi;G*@Bub~JJfNJ+0RoFq5lrK*@4|Imlyl`&Jdh!{Wm!^-!{cJc z>k8#lO9%)qf@Q$4Cw$*e6b@3H!jOpr&{&iw+zwaU6Vkmv1cem|Ul)}Lk0+5V0NA!| zh`A63mj*gpCe2q4lyrR;aMWJU@FD~NS%S-A9tK~#dS(B}!}s96IsF z=3}H3g-LuPRN=}63Bg29geA9|gK3&t@YtesYIK-U4peJiWIh1E+tMCcAzEFndHkmfj)E&SCSopx^PyVvu<_{vFJNT5 zUKCiXGnyJ5mR7_BmsP~6=0Fq(0L~08;6}a=EA|HeUwm|v(K!H!#{f`#@X^rj4aaYf zvp<*SI0QfoSQNT0lNYbH4ebyBz>|mPnG7Ua83j3V2ms*c`dzGG;gIEj1n%9N6v}#s zspf*Rred4*Ir9v?dz1WMrSv+|UJw?7M!|LZhm5ZE?Fvra%_z0@To>tr2|>T;ZI2k+~>2-j`jZsl_8=)Zmo08n3B z=G}BEAt>GZf%$jQ*G2e$vE{&*?XLiU{>$;jNqub@V{?^smg2FwiZNZr{#M)#tII-t z(}UIZuY2k`dkz4wwRH!;hjczr$fVF+WCR5Oe@AFqyDY9qebd9z)}oPW2nyXrMsDBv z{*8|lsDL69y^-hxg^u_;zP6PovJ_K-7P^ZpRRxx|7LEF*hjwmfrts)0q3TK&GmjnR z*(x`&&d!7H1kGksHm~KLnESLtaOlBNhU^1VO+r<;REhn$EU5yzaOoTsB{C`xYBrl_ q>%Qh zp*mR*6>-!m6rn<>6ZaEj=C{Svtpa#g^{F^>&skX=9cAN=mtDo%`h zNzo+G{o*(u!$4>kXx1I)``B@sCqVESxYFDHjRr9NNqW7l#gBl#ZQ$a%ttorJ0Osl^i z{dsbDuI@B0ld%CY2?z=UFBsOQl~$AM0VsdTNklF|9LK-2EFP1gcDgJf zmXOsDA|CcshYlWGf}lMFkq}4-1wrIN=pclbz#xba6hVkE2t*GR9n#AZGRQLPDg=9y z!m%1Q>LTRpkiX~K=bPF0)=@A0VA@6G4;Z{GX;7WgkmCmO*VOvd7tyTd5siS}cKp2J?_r|SsGl`=kj=Rq{;?jgZ5xZf7l9V?FA`HE z)&sd*j>p|`96lZd0RX_=a+^{@Wqp602M8=eMKF!~fe+vJ(eL&r;(-*w9mi2xERTyB zZz_~ebs-?Q2vz}QPXs~GR5(a+3PUOmKx0v!@LPOiPbkj<5hN=j-xrmU$D5Hf02GTw zOUwlsTY3SGTyc)ADxcziR*@6#BK&ny>>ELQFVGMxW@Sj6PyB!>=9 z7x@?|MPU-(2wk{#K|(Om6SBBlE^OO2g2xu6V}rena-dYMMCJnkyqfq0+qSiKLNWeE zC0VIlIgpY~t0arF-sBvRt&e~8!2RcMEz#;yxxzoD;3&9OVP3N#I-{|{US&m0a8*T|Xbwby0N_~9EH33bu~1y)-*fjaGx`kx;xz!|Z+*0kd&8kC zL+sC)DGmWp2Ns3ytK`Xx4a+zL0Px_>Nu~mcRz^Yg9RdLOxpWl^nB9M4Ie|O2M})H8 zW4gJZt*O{%eNH_>$My*S)+xRAbr#4%&?vY`|By1ZzEQzxdKe|vo|}S=lTZeT4QsVp zMHq%!Ct}kI=vqvQd7hWdTkx#Ei}`*}taYl6M|V3;HG+3`oYrc$Tz3giN89jpv<LoK_A1z`GAwI2i}Q zW&kJiuY1ZIKf&i^v+wzJq6z>&UpCJO3IM^T(6nY8uE@$-1@r53R-z&3%jOxmee?S_ zK2D%Mr>vPu1S_O^VOyOlQRYKR5EM^_s&$D$V zvDVhz{|RcfnrdC$oS1pWA=vZaC_{FDi6)^gT&cv)TGp%rrf}sN9VJpa531E_XyD>V ng&QehX=J=Ok43Cw%_jU`|EvJfrnJFf00000NkvXXu0mjfhsTH^ diff --git a/dev-assets/doodads/thief/stand-right.png b/dev-assets/doodads/thief/stand-right.png index be7a8b5fcd163ee7425f07b71b8f9eafa644ea4c..96b5f135ba4ec560909e6f7ebf5133de465d62dc 100644 GIT binary patch delta 1397 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 Ef+3)png9R* literal 0 HcmV?d00001 diff --git a/dev-assets/doodads/thief/walk-left-2.png b/dev-assets/doodads/thief/walk-left-2.png new file mode 100644 index 0000000000000000000000000000000000000000..402e8d0c8fe7363ff15d50903252623d6a2405cd GIT binary patch literal 1463 zcmV;o1xWgdP)EX>4Tx04R}tkv&MmKpe$i(`r>J4t5Z62w0sgh>AFB6^c-y)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfb8}L3krMxx6k5c1aNLh~_a1le0HI!Hsu>suRLwF{ z@tBy&u8P4|bRz%(ofwvwsm~>o33!gLd-(Wz7v)*r=l&eMO3q|}Pb8jYx?vG-5KnJf zI_G`jFe^$5@j3CBK^G)`C`-Nm{=^dvE0V2XsE zax9<%6_Voz|AXJ%n)%5IHz^bYI$mu1V+0890*#t&e;?a+;{@eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00WOnL_t(o!|j+)NEA^V$G;DX!oJe^Jh09@BaqS;;(oGj67 zugSKzw*dfct$+hSwOU2a%~^>kg`;CRH)n;x$@_n%K!&P*Of=VZ`FF;lhRc@t7o0JM zuC6XEuSH-OT=YKlHWcC2YE{d79V0m9zitE=V_5sW2DDRr5u1>@5y)gRJnyz`^L5|% z0RXAPR3s59?`tAJU=b>UY2EWZc%Fx`)L1MLXd}37+e(k+b+O`2jq0f;1q2ttDxe$* z-}fV>gM?EW+UfylEi4jVyJs8;<+DHp$wK7oq8NESiX{NRaU4sm1sOcrpRD<(g^g2@ zp6>y!-t8%GLI98;xGLu|_~wn?lcN$BqANlLS8hb2*QY?75t1*IFxsEw(a;5l?gL~L zk6s1YLBXr@~4GF=- zNXV8tOo1_G1h3na&P)skR0H`!DYPB{;KTc0V2o+)gkt`UTC#kh)R2};edK?CmRbA5CNDE6{z8 z0*pMIl8}bX1-cV1gHexVNtB!gXD(elXS| zBoT2Gp|*gha~oE1eFXqeTwmcWIAaWz{k`Vg1)n~50$4fuETONbw|NmDE0^!pfGhiZ z@GE|#0yGjZ(wPnHj^ok2xOM7%$EC}y+lnayO%+ht-$P$dFN$07OiJ1Umdi_)U-4_a zrcb-W#z<#2h$6tWaDteB&-`JOOdh`vI5;@q$8_H42n1npNrcr10YRhE`WGK7??OP% Rvzq__002ovPDHLkV1lOJm{$M* literal 0 HcmV?d00001 diff --git a/dev-assets/doodads/thief/walk-left-3.png b/dev-assets/doodads/thief/walk-left-3.png new file mode 100644 index 0000000000000000000000000000000000000000..352a45c13f77a4a2335a8cb01757644db58f7c15 GIT binary patch literal 1533 zcmVEX>4Tx04R}tkv&MmKpe$i(`r>J4t5Z62w0sgh>AFB6^c-y)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfb8}L3krMxx6k5c1aNLh~_a1le0HI!Hsu>suRLwF{ z@tBy&u8P4|bRz%(ofwvwsm~>o33!gLd-(Wz7v)*r=l&eMO3q|}Pb8jYx?vG-5KnJf zI_G`jFe^$5@j3CBK^G)`C`-Nm{=^dvE0V2XsE zax9<%6_Voz|AXJ%n)%5IHz^bYI$mu1V+0890*#t&e;?a+;{@eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00Y%YL_t(o!|j+)NEA^V$G;3|^XK#Z{n__^Z-D>SL7U7^GOJTy`fYUrp3mn20IusIbM4{0f{S1kP>zJ} z`?1nN!YK`1tpGF@6$!7~GmeCEEf7Jn5c#|)Mjnr2DF7&yN|sm)GI%_f4&Ah}-4yBh z9^mTzJ>^LV08#{3w8U2x<)Kt>T6 z&yBFzt@i7ubX%hbtx^V4=gkWMM zWXm3BVcWJ5yk%25KQ+Rr2FjIcWIX`D`**)!+qTwBDCXa&B`a5|=hCuiwPdZlH(3W{ z?^{OT$(s+B=ykbLX&%v2!J%P7d1Qvd)zx9(#DtEW6C@W9EO(3}*JxB!Cu^Y%FgPUi6a3osyc zJEk2{tj#G2iE6n__K{iwqBfavyW=xQ0Byo<5`{$G50D7crPxS7tybe7)i`Zr>AY?f zV!fhKc^U*kXgzRUS8GZ>msd0#K?pv*w5`1sXkR#*8DmbL zgT9_#<@rqJBNv@WS1iK;!0Bu58>58m>{YS8zn1K3xW2z;jb_G}Uq8JKixQHk096D; zF`|e@oiN=fq;$YCJQNu;uOT5OBCJ+$s`~oj!70zhhl>#sqoGp|S}Ex3=|%nU0Dj$9 zK9I&J8YXpNwM&5EX>4Tx04R}tkv&MmKpe$i(`r>J4t5Z62w0sgh>AFB6^c-y)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfb8}L3krMxx6k5c1aNLh~_a1le0HI!Hsu>suRLwF{ z@tBy&u8P4|bRz%(ofwvwsm~>o33!gLd-(Wz7v)*r=l&eMO3q|}Pb8jYx?vG-5KnJf zI_G`jFe^$5@j3CBK^G)`C`-Nm{=^dvE0V2XsE zax9<%6_Voz|AXJ%n)%5IHz^bYI$mu1V+0890*#t&e;?a+;{@eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00Z4gL_t(o!{t~pXcR#deS03Mgkwo=ZNwrFNG={BEGpYX z?G5R~CJ+#UjfEgK0Sm!GunUM>5hCf*Nh~Y`xk3gF!x1jYS;!Va6gSF}fQ@L@BK~!D zZf19HZ*mrXIBs`#nD^$*pFjT(@ZZ~_yBPgTd`l$I;0Ua#TVCg zv4~?5gHode0KV@hNDNYqQiC_FFbums42pzBJHfVXjE;_Wb>N(%!5dbuWb!UyCIKSh zx^CCA&N%0}$s`B>(2^)(zVCyUS4YAU1CmJ+q=IeRsU*s#or-|lL+#^+@4$>b1C^sE z6fmIz=R5{>94BrMf*^ioj9Dk5z-oIH82SrLppN4t$atO?i9|~BKsu><@p>6pRDjxv zh$WwjSzAmeyK3gL1wqiYG$lFu6JaxVX0NC2zO%Pgd1xlY_j9J<^K&CsOXzgWim2GYB zV!d^sj0NR9@jPu=rq0)}w8pUBVgP`L^IrUIX^q7sMcKO&lDr3tZuSr7J*=#(fZby; z=+YXC+ho}b5g-z_ZKM99uI)n#h)QJU16h8cvM>yBOC8~?;Mo%~84NGsh$-ym`mm-Z5CEzUd(JQsmHb>zgQ zJ!Sta@UB3#@$5rpR{+4|cungMr6TfA zj@RPBRYX)IOj)G)rS?nP4ZS#FRH-CyKn@NLRAVIiY5Mf<19`wr2BJIz>l8YfNcaaV rQYk~gl}bh1uaFO9j1g(xQ}KQSRe?k=gA3z*00000NkvXXu0mjfd(^g! literal 0 HcmV?d00001 diff --git a/dev-assets/doodads/thief/walk-right-2.png b/dev-assets/doodads/thief/walk-right-2.png new file mode 100644 index 0000000000000000000000000000000000000000..2e33928b43764bd3cc0a09ab523a3e266768277f GIT binary patch literal 1480 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 VMsEM#l2ZTx002ovPDHLkV1m7duOR>c literal 0 HcmV?d00001