From c3fb6fa74037e65dc91f16d0a5ee1028dcce7eb6 Mon Sep 17 00:00:00 2001 From: Joshua Sigona Date: Sat, 20 Jun 2020 17:41:17 +0900 Subject: [PATCH] Implemented new physics platform simulation. --- build/classes/mygame/Main.class | Bin 1592 -> 2239 bytes src/mygame/Main.java | 13 +++ src/mygame/appstate/RunLevel.java | 21 +++-- src/mygame/control/PlayableCharacter.java | 101 +++++++++++++++++++--- 4 files changed, 118 insertions(+), 17 deletions(-) diff --git a/build/classes/mygame/Main.class b/build/classes/mygame/Main.class index b9a1b04730b1d51ccd216ab73b9f88ca76849c08..e13354c6a2245f529b8003486736b56800355b73 100644 GIT binary patch literal 2239 zcmaJ?T~iZR7=BI?SO|*(Dk2K?lLi88TcxcfS{twI#oZh1DgCWA8NNB&1F z&=smEB9efSe9@~|TNQQD3U|XuRjhg6FEqpqGAVtZp@(+Gchn-|rC6ZDQQOK9IMdQ5 z&I%(LDeHy|l{TUev~bP~%G0ijHk5S3>4H}ciYl+w=Uvw$#`avsakMRs+uJG#?2=YC z>yGdFB^qOmGC7@GGV&h@h+I>?qTG@S1kPt#0R{1$3aq+tNxHJEg19(|pz>Pm2S5e- z3Q7jW&72q9Wk_)sueG@di^^5jGW#|=-f|q(p;lRW72B^!-)bn|smc;_66C_M7QD>} zWh}+eo3et>DoKZ`DL3XwFKb(Tyd?dY3YT^;f1~yIDc*t-YND`pl|COp6_t(T09vg5> zRN$KM;2ZefM1aslgsO>c{6Ge`LW`@}NLFC1DR^r^$?+zzRZ0^d;v<34rbyGX5R;hH zbnIfxJI+=-Jk`i{tVOz!kw+G#GV7XUy_}L26?zWE9(&f2SzOfjdU{q1yKYg_Per+a zGriKFXAJ1!ZJ{|~r`rj$f5f!K4i+wm_#!-Vb{8bMd8$PL+x4rFm2-A)Xc0ps4ThU( z?URxT^nT0LPen-wsHd>Oea=VAt}aNuUo1$W4MqEBoAwVxF<2Rqg_{EH3GT(d_BJ#U8*eI9CcLf^2=cC#UauPMB06qSrk87`|GqWOl>Ps)uC zM_=LNSMm17mMTWGIKu~dn7;#@56xxnI=Sb3aD9g-i(kQS$HX4QFWe+>nyUr@C#VjX zbpX!B>e|dX-e~2YkmMh5={XW>sXZj~+5XP!{mCC|NM%zsbY%N>YUq3pV{H#zOOx3e zx+i}{da{O|maj2}1_snkn@8wR#o4KawwzHZb=RqXq{5VLt_~QINp({{Yuh`XB%R delta 644 zcmaiwOD_X)6vfZ9)zRrcQuSz2v|2?=TiSX*OY8l%V>6M4ibokdn%zfhkPun5kSpX#r#V?BaaCSSTGAHMmyI(rMzzyfhUW(0FSP zjyE8uFpD{byto49HMmc%4$PBcQo0ouu&7XndW9u4DlB6~$Ev~_a^*dHt9u0) { + System.out.println(vspd); + return false; + } + CollisionResults results = new CollisionResults(); + Ray r = new Ray(spatial.getLocalTranslation().add(0,2.5f-vspd,0),Vector3f.UNIT_Y.negate()); + GetLevel().updateGeometricState(); + GetLevel().collideWith(r, results); + System.out.println("Collisions("+results.size()+"):"); + for (int i=0;i0) { + //System.out.println(results.getCollision(0)); + if (results.getClosestCollision().getContactPoint().x!=0 || + results.getClosestCollision().getContactPoint().y!=0 || + results.getClosestCollision().getContactPoint().z!=0) { + System.out.println(results.getClosestCollision()); + if (results.getClosestCollision().getDistance()<=2.6-vspd) { + spatial.setLocalTranslation(results.getClosestCollision().getContactPoint()); + return true; + } else { + return false; + } + } else { + vspd=jumpSpd; //???Undefined behavior. + } + } + /*if (results.size()>0) { + System.out.println("Distance: "+results.getClosestCollision().getDistance()); + //if (results.getClosestCollision().getDistance()<=5.0f) { + + //} + }*/ + return false; + } } \ No newline at end of file