From 87034ee9897dd6cf7c0b4b5c5c8ce967660e334f Mon Sep 17 00:00:00 2001 From: Cameron Smart Date: Fri, 17 Apr 2020 20:34:26 -0700 Subject: [PATCH] Added floor, character sprite, and made scalable --- triple-dungeon/images/monsters/skeleton.png | Bin 0 -> 311 bytes triple-dungeon/images/tiles/floor_tile.png | Bin 0 -> 1330 bytes triple-dungeon/main.py | 81 +++++++++++++++++--- 3 files changed, 71 insertions(+), 10 deletions(-) create mode 100644 triple-dungeon/images/monsters/skeleton.png create mode 100644 triple-dungeon/images/tiles/floor_tile.png diff --git a/triple-dungeon/images/monsters/skeleton.png b/triple-dungeon/images/monsters/skeleton.png new file mode 100644 index 0000000000000000000000000000000000000000..ad492d35ed92f489043ca96f150381284d18745c GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^oIotV!3HFcc!W9wDYhhUcNd2LAh=-f^2s121s;*b z3=G`DAk4@xYmNj^kiEpy*OmPVix88P9J~2VGmrtEE{-7@=X)m^avd^|aEtGHpi;rc zn(kO~{p`iF!Z!|{-734+iG5+P{)MHRWm~PbL_2Os*RZfW`jS64>S(^FLjU)_ih&H% zKL;|ed6v9s(XqZPCL!sPH_djFCm$2djFD96@jA4E#bEVedBX`eel1Gb9G~;G%KT@p z&}@m+(!UNXZ9bYDcv$jU;$8o0CW#Ykmn~Kdntn|5{Po?j&wn*$T{C4&o;2g2ZUEzx z&gGjI_D0 Bb!7km literal 0 HcmV?d00001 diff --git a/triple-dungeon/images/tiles/floor_tile.png b/triple-dungeon/images/tiles/floor_tile.png new file mode 100644 index 0000000000000000000000000000000000000000..673bf07b091950dccdf4cb646e766688a5b0c092 GIT binary patch literal 1330 zcmV-21A#UDMpTkT!OM>xa=jK0UDSoO7<-Z!g|W({cH~`|RCr+d2s!#*tb- zjBbCwyLdhyPG)@XoVx(Wz}3dH;O&0v`eAg_bX)+TZ@b^Ru^Z07xVFFFx%qHX@z)w) zWBh94-F!Hi@GH;&ZD46L=EG@uMkm5ejE)WctoX4_!>{o}ZPJn^Q0cFM$4)xe;%TdC zN4yc$#xH;HT#`(P#H@?UwF%m|p1y#EXbY0mHs|7U9sv!%j$OcfIJtfp&%TR2%h(8N zTE=;S5F;rbflwDny#co%JUMPrO>>uos|l>ycr(7|q~QMkuel=(Ko|1<_ObNYZQHYn zz=lB|c)yH+#-B9gHK1IZdA<{4yM zI19slI~Xev-)f94_)9XhmUX2RDCk(6Kfe`z_5AuWNd><+uOZqA;bmv-ijGXw?CP?@m48-HpgP2NcNr}aRQ%T`( zxlu^>Yp}R#snYsp@iLT^rwP_w$-Rw(tWi3o41>DVq5KmP|_J2$? zqAx})i!H4Qxi(wm2T*m_?)@$NfRdY#jUS+?+nU;0_yN*)*20FxEpi@0E7zUz11@}U zA$|a!Fy#lN)1V11o^2?1M#Se&`d;m1UnYxp%+JJ+mdOw;b?L-AwWZ5Dn2*M~En7{q$rc1wOjc7DJd!4J44 zKf&Mnex7=bYx5KQt?%b8Y8{Fn!cVy12VDDpJ{CV0KY^_WT=RZDB=rS+D?cF%KcMve zd@g+McMcZ(to(qO`+3^F1V13_{XCw~;7s^A`3c|rfK-0KTI6Tp2jnV right_boundary: + self.view_left += self.player_sprite.right - right_boundary + changed = True + + # Scroll up + top_boundary = self.view_bottom + SCREEN_HEIGHT - TOP_VIEWPORT_MARGIN + if self.player_sprite.top > top_boundary: + self.view_bottom += self.player_sprite.top - top_boundary + changed = True + + # Scroll down + bottom_boundary = self.view_bottom + BOTTOM_VIEWPORT_MARGIN + if self.player_sprite.bottom < bottom_boundary: + self.view_bottom -= bottom_boundary - self.player_sprite.bottom + changed = True + + if changed: + # Only scroll to integers. Otherwise we end up with pixels that + # don't line up on the screen + self.view_bottom = int(self.view_bottom) + self.view_left = int(self.view_left) + + # Do the scrolling + arcade.set_viewport(self.view_left, + SCREEN_WIDTH + self.view_left, + self.view_bottom, + SCREEN_HEIGHT + self.view_bottom) def main(): @@ -122,4 +183,4 @@ def main(): if __name__ == "__main__": - main() \ No newline at end of file + main()