From 4998a2ef24d5bebe0e1e7f57904294e76945a363 Mon Sep 17 00:00:00 2001 From: GammelJAN Date: Fri, 1 May 2020 18:07:32 +0200 Subject: [PATCH] nice --- core/assets/sprites/playerFullHealth.png | Bin 770 -> 0 bytes core/assets/sprites/playerHalfHealth.png | Bin 813 -> 0 bytes core/assets/sprites/playerHealthBar.png | Bin 0 -> 635 bytes core/assets/sprites/playerZeroHealth.png | Bin 729 -> 0 bytes core/assets/sprites/potion.png | Bin 0 -> 1557 bytes core/assets/sprites/sword.png | Bin 1614 -> 5706 bytes .../dungeoncrawler/control/Controller.java | 12 ++++++++--- .../model/DungeonGenerator.java | 4 ++-- .../com/dungeoncrawler/model/Inventory.java | 4 ++-- core/src/com/dungeoncrawler/model/Item.java | 6 ++++++ .../dungeoncrawler/model/ItemContainer.java | 1 + .../dungeoncrawler/model/entities/Player.java | 18 +++++++++++++++- .../model/items/{Sword.java => Amulet.java} | 5 +++-- .../com/dungeoncrawler/view/GameScreen.java | 4 ++-- .../com/dungeoncrawler/view/HudContainer.java | 20 ++++++++++++++++-- .../src/com/dungeoncrawler/view/MainMenu.java | 10 ++++----- .../com/dungeoncrawler/view/MapGenerator.java | 2 +- 17 files changed, 66 insertions(+), 20 deletions(-) delete mode 100644 core/assets/sprites/playerFullHealth.png delete mode 100644 core/assets/sprites/playerHalfHealth.png create mode 100644 core/assets/sprites/playerHealthBar.png delete mode 100644 core/assets/sprites/playerZeroHealth.png create mode 100644 core/assets/sprites/potion.png rename core/src/com/dungeoncrawler/model/items/{Sword.java => Amulet.java} (80%) diff --git a/core/assets/sprites/playerFullHealth.png b/core/assets/sprites/playerFullHealth.png deleted file mode 100644 index e48e4330960f37c5cff0969e9521bf6a0a2f4438..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 770 zcmV+d1O5DoP)EX>4Tx04R}tkv&MmKpe$i(@I4uB6bjU$j~}j5S8L6RV;#q(pG5I!Q|2}Xws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;lcSTOirkx9)H2Z_aE2g@DIN`^{2LmX06jq-)8 z%L?Z$&T6H`TKD8H4CJ+yG}md4A&w;^kc0>sHIz|-g$S)0DJD|1AM4^Dar{Yg$>b`7 zkz)Z>sE`~#_#gc4)+|gmr&Zfo)$aJd5vKk1SoIg*#AP$&TJXY@@uVCWX;TXTDB?c?+T$WT|yH^9Lm zFkYnW^)B!3?d_CX>@2HM@dakSAh-}0002lNkl=EF9@Baq0411D z-Q?R7KnHM_qf4*^KnDN`Add-50384c06G8!CV&+P2>?0(NC3zh0384;5LkiWF@A@} zt&{*R3%wklNj5qH3;={W0K3{sVZuC~4gdfE07*qoM6N<$f&};} AEX>4Tx04R}tkv&MmKpe$i(@I4uB6bjU$j~}j5S8L6RV;#q(pG5I!Q|2}Xws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;lcSTOirkx9)H2Z_aE2g@DIN`^{2LmX06jq-)8 z%L?Z$&T6H`TKD8H4CJ+yG}md4A&w;^kc0>sHIz|-g$S)0DJD|1AM4^Dar{Yg$>b`7 zkz)Z>sE`~#_#gc4)+|gmr&Zfo)$aJd5vKk1SoIg*#AP$&TJXY@@uVCWX;TXTDB?c?+T$WT|yH^9Lm zFkYnW^)B!3?dPpS5smh8#ky@Z|&sz(W@=r=22}Ga+ zm7(D}(5wSVAPJ-c5h&X%8*Ys!P;-I8b0A0{3AA5{)`3ubp{((+#!Db;Jb@$-fkrGt zIuImKgXIDnI*<{DVktZaLT!O`AQ)j1NQov;uL+bf<&7{2B!P6G18)=PErDVmZwRCV z=|B=l2hxEEgvqN6NT5=ILI=`;wwGuLB!N15dSH#u*nv1?g#AClbRZ+l7AAoRB!LnL rM5ZwKWL<0F2BVRPmVek;^pm00000NkvXXu0mjfiYHsA diff --git a/core/assets/sprites/playerHealthBar.png b/core/assets/sprites/playerHealthBar.png new file mode 100644 index 0000000000000000000000000000000000000000..eef1574862bdf542ac0dc88104a09dcdd453804a GIT binary patch literal 635 zcmV->0)+jEP)EX>4Tx04R}tkv&MmP!xqvQ;Q;12Rn#3WT@g`K~##PRIvyaN?V~-2a}inL6e3g z#l=x@EjakISaoo5*44pP5CnffoE)7LU8KbOl0u6ZFFfAIdG{RNyAKc=6{eb9lYpvO zMk*c?v$<8V`xOEB(2pp_C1&c0^kN2{^>t6ZRCf`c<=yvZ^(lFi0X~s|nWrS; zby?xO#aXS?SnHnrg~7bGlIA+C5yY{C1dga5(r*_wsvDK{w?0|GC${V@u3?*h%bZGRuzcJl=AKLb}<+h1(}v!A5b z+gkVt7}y3buG^Zt2VCv|Lr=P7NRH&EB@_z4`x$*x4j8-zde_{!wa#(+0Ay%Z%QwKm zAuv{?>~)WK_jJzf-=5a|egLMda=booP5A%-00v@9M??V50L}o;NQ=2R00009a7bBm z001r{001r{0eGc9b^rhX2XskIMF->s0S-4e6L~Wb0000PbVXQnLvL+uWo~o;Lvm$d zbY)~9cWHEJAV*0}P*;Ht7XSbNQAtEWRA}Dq*)aitFc1X6J3OE@8qgXMP=N=M+3wn( z@|(BoyrcCRvq@6Odtevx9vw~qTA&45paoi>1zMm58ni&`=lNdk(3tHvU@wcDBoEn} V4ZHFpgm?e|002ovPDHLkV1nNo2}b|` literal 0 HcmV?d00001 diff --git a/core/assets/sprites/playerZeroHealth.png b/core/assets/sprites/playerZeroHealth.png deleted file mode 100644 index bf32870bb110d383691b834b6e658c3e9b4f1f2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 729 zcmV;~0w(>5P)EX>4Tx04R}tkv&MmKpe$i(@I4uB6bjU$j~}j5S8L6RV;#q(pG5I!Q|2}Xws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;lcSTOirkx9)H2Z_aE2g@DIN`^{2LmX06jq-)8 z%L?Z$&T6H`TKD8H4CJ+yG}md4A&w;^kc0>sHIz|-g$S)0DJD|1AM4^Dar{Yg$>b`7 zkz)Z>sE`~#_#gc4)+|gmr&Zfo)$aJd5vKk1SoIg*#AP$&TJXY@@uVCWX;TXTDB?c?+T$WT|yH^9Lm zFkYnW^)B!3?d8koIp8wx& z_a~p-FGv4Jw|}cSUw=!7?}C63P{Q35^`1NwkQ>MiWC9_en0Klgg%SJ$B$1Y9(00000 LNkvXXu0mjftVuMU diff --git a/core/assets/sprites/potion.png b/core/assets/sprites/potion.png new file mode 100644 index 0000000000000000000000000000000000000000..d7f9da1ce4a0f6eaca2201e25c13c6b1135ae1b4 GIT binary patch literal 1557 zcmV+w2I~2VP)EX>4Tx04R}tkv&MmP!xqvQ%gmv4t7v+$WWauh>AE$6^me@v=v%)FnQ@8G-*gu zTpR`0f`dPcRRZ7c=mzuY2mHx{LBG@4i2)SIL_U@QK88OgAjz4dR(i zOXs{#9A+g+AwDM_H|T=Ik6f2se&bwpSm2pqBa@mZ4ik&T4wgHZl?;`5nmD4U8s!UF zmle)ioYhK=weHDZ7|LraX|B^6K^#j+APEsNYAB-u3sKrNQcR@iJm%pacKk_l$>b`7 zkz)Z>sE`~#_#gb9ty!3wbdy3cAn;<_AEQ8U7iiXP`}^3on;_O#~r0~mvHgZ0uSrT_o{24YJ`L;%hJ&H&Cxi@7)e000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jm3-4jeU$2d`BC000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}000B*NklIw5^{oL&Lm0K8{MRVgcwbz zoVb)1`KsVq;~B9*5etG8dks5A9UIjOjj_msEakwRNHC9BVXN|-SZx?F8Ay_3c=hlw z+qw`0+y`BGBX=2TQL$rWX`%P~Wxx|RR%l*06@o7X1izWdE=*88>@{~G37!pHPIk!m zbVOl1sIV`)b8YqL0VGK>yn1|?ZEcSHtPm?iSr5EOf!V+J0kcf=eeWi#C7-Z_Y{w+< zn-*5hVI&f#6)5`WZz!LgcVxF8E(T6_Mo?xLKIbdVNsiWX05sbx*iReRKq)0uIw`LM zM8%Ovc)gSnn@Sr>CvKE*MhH@hj9fW57Hj7sp?9y>REi+oJAh4Jc$}&8jyLcbPzZkU zBUXa#WzE@-uADs2p8)`##^ZBW$D%l~qRZOASdZx4WL3{R_q!(!tVy2d{ipHxT(#GV z$0crdHplJIeA;>jWDsRG9G4M|k7R>G=w(6H-zEU<3EI=A@wq1-^RERR0lYT&=G{Zg z>Edx<)iX|L8~i>2MBlUiDd24c&_*EXz87!%SIWs-fadErzX%wCHKmx@00000NkvXX Hu0mjf=QzCL literal 0 HcmV?d00001 diff --git a/core/assets/sprites/sword.png b/core/assets/sprites/sword.png index c4d865a47354602cb2fd9db1a64bf4afd4b760c1..8c7b07ad8d6aafe3fe816aafb65eb3fc2441ff0b 100644 GIT binary patch delta 5641 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 delta 1535 zcmVEX>4Tx04R}tkv&MmP!xqvQ%glF4t5Z6 z$WWauh>AE$D;B{*X)CnqVDi#GXws0RxHt-~1qXi?s}3&Cx;nTDg5VE`lcSTOit6Z zRCiIH<=yvZ4JZYZ0X~sY3ZEziNmZcDa7Z*69yfS_>t?f%Ws@Z4huXp zY-H1M;xMsT>SDQzS=msDXNV(;s!_g>b6MfM#aXS^S^J#)hM|JClHoe7Q6#X0BvKF| zqmBxyun?ucMt_QlH0{Sc{3DJ(MJ}0K6)&@IM1rTE|~&0&}0FH#%D62pHT3F0MP8ya!zF0K-qZWJr$WrzI4N z!220JQyv()1^U+9xwZFk`T%5UR?9cQ!67hSqU?2#dnEUE&+Xry_WXVT8s>6@19)QZ z00006VoOIv09gQ809n17>Z+565+Mf*F%_1G7nzf<5+{EIB}qg z2uA$}d~aD9C!vV=-jg;X<2ZFFOn;GVrkLJYd^43Y6zK zluFgi$D~9zbcBczkB_E-uYlFAGqG)3pp^1Fk79ofUI>Aq8werJ1m7_Mwrzt#IqpH` zr4Z<*S%Z(C3BDr&EWd0#w+=6a#4wC=!?#_4Wm}-A8Mat8tdQu2fsp5iZ>s>yw$W%T z8wV*RhORda-!=iZWdT(Cyk9m_Vj5;sWz*I{W?MFBnsQyI+HD*MDFmke^6)L+0n4^) znRkEd@FFJBbpsI-#7AEazNG>z%dh#WVO`fn#$wezFE0kZWdi&O>o^VYQdGN*kY^rJ z9TDKe9~jm_$QZhzBhN8mJ0hSuVU_Y+@6eDkb>l(|+fo5`&9F{=!d5fi?1XKrfNI&) zGGFxjd<;`JkU}upBKW4}K%r1jnM_6pxEHtH*=Ty)0j(ku&RQuph6;LP?$Yg&q z$GVN{cs%;%W7gN#nVp?wF`Z_7d>q*U_!Iw`%VaVP4-YdvJ$>jh;yErG*`)gUk07HX zdj#H26NyB~=kw%px$l8H?S%i=5=thM_4B;vc>Ml#Qa#=Za4Dn+1{A;DzeS}|A(cvz zOeQCR)oeDa+9^Ogt%No=H_7MoY(0Ni4vd>SmCfw{e?RZzwO3wn?bQl5m-z`O77B&r z?(Qz3PzZoTBB6DB2NH<{zF8-(Z&w~~1=y>=(BQrgp94Mv?j;h5bh%t+V`GCvB9Q}b zbbJQ@KAi|~?Sm!$TKP!*`lO#o_yt3Q``pT_9B{9p-fsXO*1osZ#3xSTFW-OH_~l7I z#Xp1U!Lt#rRy;;7?Q#2Cj=}>xs(n_w!o**^r{SA58jTW(L|C$Rb9cTwfX`;LN0+r7 z{@7`B>dgVh%^jX@2Y9wqGwZ{<+TCRqfggdjm6erM->lsbhXhPq-^P1d{b^`$pR0rW z+*}6W6aSrZxlAw^WPX0WD+EIvGV$l{_Ho3lbbHi2Ff%j556|DCPlGouSN;?5he{|K ljk313#?t*=deMus$3KzEKlr_bvV#Bs002ovPDHLkV1nlc))fE% diff --git a/core/src/com/dungeoncrawler/control/Controller.java b/core/src/com/dungeoncrawler/control/Controller.java index 859e605..9ffc22f 100644 --- a/core/src/com/dungeoncrawler/control/Controller.java +++ b/core/src/com/dungeoncrawler/control/Controller.java @@ -27,7 +27,7 @@ import com.dungeoncrawler.model.Item; import com.dungeoncrawler.model.ItemContainer; import com.dungeoncrawler.model.items.Key; import com.dungeoncrawler.model.items.Potion; -import com.dungeoncrawler.model.items.Sword; +import com.dungeoncrawler.model.items.Amulet; import java.util.ArrayList; public class Controller extends ApplicationAdapter implements InputProcessor{ @@ -65,7 +65,6 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ @Override public void create(){ - volume = 0.01f; arrows = new Entity[10]; @@ -142,7 +141,8 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ // Render methode zum rendern der einzelnen Sprites wird aufgerufen m.render(batch, d.getPlayer(), d.getCurrentEntities(), arrows, tileX, tileY, level, roomPosX, roomPosY); - hc.updateInventory(batch, d.getPlayer()); + hc.updateHud(batch, d.getPlayer()); + d.getPlayer().updateItems(); } } } @@ -382,6 +382,12 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ m.music.setVolume(volume); } } + + if(keycode == Input.Keys.Q){ + if(m != null && m.getIsLoading() == false){ + d.getPlayer().getInv().dropItem(); + } + } return true; } diff --git a/core/src/com/dungeoncrawler/model/DungeonGenerator.java b/core/src/com/dungeoncrawler/model/DungeonGenerator.java index 163efbe..7ab7061 100644 --- a/core/src/com/dungeoncrawler/model/DungeonGenerator.java +++ b/core/src/com/dungeoncrawler/model/DungeonGenerator.java @@ -6,7 +6,7 @@ package com.dungeoncrawler.model; import com.dungeoncrawler.model.entities.*; -import com.dungeoncrawler.model.items.Sword; +import com.dungeoncrawler.model.items.Amulet; import java.util.ArrayList; /** @@ -206,7 +206,7 @@ public class DungeonGenerator { int id = (int) (Math.random() * 2); switch(id){ case 0: - tempItem = new Sword(lvl); + tempItem = new Amulet(lvl); break; /*case 1: diff --git a/core/src/com/dungeoncrawler/model/Inventory.java b/core/src/com/dungeoncrawler/model/Inventory.java index 1396b46..cdf2ddc 100644 --- a/core/src/com/dungeoncrawler/model/Inventory.java +++ b/core/src/com/dungeoncrawler/model/Inventory.java @@ -58,8 +58,8 @@ public class Inventory { selected += i; } - public void dropItem(int x){ - items[x] = null; + public void dropItem(){ + items[selected] = null; } diff --git a/core/src/com/dungeoncrawler/model/Item.java b/core/src/com/dungeoncrawler/model/Item.java index 7ab6858..e173b5d 100644 --- a/core/src/com/dungeoncrawler/model/Item.java +++ b/core/src/com/dungeoncrawler/model/Item.java @@ -23,6 +23,12 @@ public abstract class Item { public int getId(){ return this.id; } + public int getDmg(){ + return dmg; + } + public int getHeal(){ + return heal; + } /** * @return the amount */ diff --git a/core/src/com/dungeoncrawler/model/ItemContainer.java b/core/src/com/dungeoncrawler/model/ItemContainer.java index 38a9f10..91f406d 100644 --- a/core/src/com/dungeoncrawler/model/ItemContainer.java +++ b/core/src/com/dungeoncrawler/model/ItemContainer.java @@ -28,6 +28,7 @@ public class ItemContainer { /** * @param xPos the xPos to set + * */ public void setxPos(int xPos) { this.xPos = xPos; diff --git a/core/src/com/dungeoncrawler/model/entities/Player.java b/core/src/com/dungeoncrawler/model/entities/Player.java index 4e9c7d7..0e8d2b6 100644 --- a/core/src/com/dungeoncrawler/model/entities/Player.java +++ b/core/src/com/dungeoncrawler/model/entities/Player.java @@ -16,16 +16,22 @@ import com.dungeoncrawler.model.ItemContainer; */ public class Player extends Entity { + int standartDmg; + int standartMaxHp; + public Player() { super(200, 200, 1); - this.maxhp = 5*lvl; + this.maxhp = 5 * lvl; this.hp = this.maxhp; + standartMaxHp = this.maxhp; this.dmg = 3*lvl; + standartDmg = this.dmg; id = -1; inv = new Inventory(3,2); // TODO: Sinnvolle Werte finden + } public void pickUp(Item item){ @@ -34,5 +40,15 @@ public class Player extends Entity { public Inventory getInv(){ return inv; } + public void updateItems(){ + if(inv.getItem(1) != null){ + dmg = standartDmg + inv.getItem(1).getDmg(); + maxhp = standartMaxHp + inv.getItem(1).getHeal(); + } + else{ + dmg = standartDmg; + maxhp = standartMaxHp; + } + } } diff --git a/core/src/com/dungeoncrawler/model/items/Sword.java b/core/src/com/dungeoncrawler/model/items/Amulet.java similarity index 80% rename from core/src/com/dungeoncrawler/model/items/Sword.java rename to core/src/com/dungeoncrawler/model/items/Amulet.java index c7102ef..06f5290 100644 --- a/core/src/com/dungeoncrawler/model/items/Sword.java +++ b/core/src/com/dungeoncrawler/model/items/Amulet.java @@ -11,11 +11,12 @@ import com.dungeoncrawler.model.Item; * * @author jonathan */ -public class Sword extends Item { +public class Amulet extends Item { - public Sword(int lvl) { + public Amulet(int lvl) { super(lvl); this.dmg = lvl * 4; + this.heal = lvl * 4; this.id = 2; } diff --git a/core/src/com/dungeoncrawler/view/GameScreen.java b/core/src/com/dungeoncrawler/view/GameScreen.java index bb0a98c..11c5f4b 100644 --- a/core/src/com/dungeoncrawler/view/GameScreen.java +++ b/core/src/com/dungeoncrawler/view/GameScreen.java @@ -172,7 +172,7 @@ public class GameScreen { roomChangeRow++; } } - },0, 0.02f); + },0, 0.01f); } @@ -226,7 +226,7 @@ public class GameScreen { tmr.setView(camera); tmr.render(); - camera.zoom = 700f; + camera.zoom = 700f; // Standart 700f camera.update(); batch.setProjectionMatrix(camera.combined); diff --git a/core/src/com/dungeoncrawler/view/HudContainer.java b/core/src/com/dungeoncrawler/view/HudContainer.java index bb46c5a..bd206cc 100644 --- a/core/src/com/dungeoncrawler/view/HudContainer.java +++ b/core/src/com/dungeoncrawler/view/HudContainer.java @@ -8,6 +8,7 @@ package com.dungeoncrawler.view; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.Sprite; import com.badlogic.gdx.graphics.g2d.SpriteBatch; +import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.dungeoncrawler.model.Item; import com.dungeoncrawler.model.entities.Player; @@ -26,7 +27,12 @@ public class HudContainer { Texture selectedTexture; Sprite selectedSprite; + Texture playerHealthTexture; + Sprite playerHealthSprite; + public HudContainer(){ + playerHealthTexture = new Texture("sprites/playerHealthBar.png"); + playerHealthSprite = new Sprite(); selectedTexture = new Texture("sprites/selected.png"); selectedSprite = new Sprite(selectedTexture); HudTexture = new Texture("sprites/hud.png"); @@ -62,10 +68,9 @@ public class HudContainer { selected = 2; selectedSprite.setX(invXPos[selected] - 2f); selectedSprite.setY(invYPos[selected] - 2f); - } - public void updateInventory(SpriteBatch batch, Player p){ + public void updateHud(SpriteBatch batch, Player p){ InventoryItemSprites = new Sprite[8]; Item[] items = p.getInv().getItem(); @@ -77,6 +82,15 @@ public class HudContainer { } selectedSprite.setX(invXPos[selected] - 2f); selectedSprite.setY(invYPos[selected] - 2f); + + p.setHp(3); + float n = p.getHp() / p.getMaxhp(); + int newWidth = (int) (n * 122); + TextureRegion[][] playerHealthRegion = TextureRegion.split(playerHealthTexture,newWidth, playerHealthTexture.getHeight()); + + playerHealthSprite = new Sprite(playerHealthRegion[0][0]); + playerHealthSprite.setPosition(200f, 200f); + batch.begin(); HudSprite.draw(batch); for(int i = 0; i < InventoryItemSprites.length ;i++){ @@ -85,8 +99,10 @@ public class HudContainer { } } selectedSprite.draw(batch); + playerHealthSprite.draw(batch); batch.end(); + } public void addItem(Item item, int x){ diff --git a/core/src/com/dungeoncrawler/view/MainMenu.java b/core/src/com/dungeoncrawler/view/MainMenu.java index 8c3a216..10dc3af 100644 --- a/core/src/com/dungeoncrawler/view/MainMenu.java +++ b/core/src/com/dungeoncrawler/view/MainMenu.java @@ -58,10 +58,10 @@ public class MainMenu{ backgroundSprite.setY(0); - camera = new OrthographicCamera(1, h/w); - camera.translate(backgroundSprite.getWidth()/2, backgroundSprite.getHeight()/2); - camera.zoom = 1150f; - camera.update(); + //camera = new OrthographicCamera(1, h/w); + //camera.translate(backgroundSprite.getWidth()/2, backgroundSprite.getHeight()/2); + //camera.zoom = 1150f; + //camera.update(); Pixmap pm = new Pixmap(Gdx.files.internal("sprites/cursor.png")); Gdx.graphics.setCursor(Gdx.graphics.newCursor(pm, 0, 0)); @@ -86,7 +86,7 @@ public class MainMenu{ Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); batch.begin(); - batch.setProjectionMatrix(camera.combined); + //batch.setProjectionMatrix(camera.combined); backgroundSprite.draw(batch); startButtonSprite.draw(batch); quitButtonSprite.draw(batch); diff --git a/core/src/com/dungeoncrawler/view/MapGenerator.java b/core/src/com/dungeoncrawler/view/MapGenerator.java index e45e3ef..0f69af2 100644 --- a/core/src/com/dungeoncrawler/view/MapGenerator.java +++ b/core/src/com/dungeoncrawler/view/MapGenerator.java @@ -312,7 +312,7 @@ public class MapGenerator { Item item = container.getItem(); if(item.getId() == 2){ - AnimatedObject swordSprite = new AnimatedObject(sword, 24, 24); + AnimatedObject swordSprite = new AnimatedObject(sword, 48, 48); swordSprite.getSprite().setPosition(container.getxPos(), container.getyPos()); temp.getMapItems().add(swordSprite); }