stop walking animation when colliding
This commit is contained in:
parent
d99141dd82
commit
9c812f10d3
1 changed files with 22 additions and 21 deletions
11
src/Test.hs
11
src/Test.hs
|
@ -371,7 +371,7 @@ updateMap dt = do
|
|||
aId = asId stat
|
||||
nstat = case aiName aId of
|
||||
"walking"
|
||||
| sqrt (vel' `dot` vel') > 0 ->
|
||||
| sqrt (colldpos `dot` colldpos) > 0 ->
|
||||
stat
|
||||
{ asId = aId
|
||||
{ aiDirection = direction vel' rot'
|
||||
|
@ -386,7 +386,7 @@ updateMap dt = do
|
|||
, asCurrentFrame = 0
|
||||
}
|
||||
"standing"
|
||||
| sqrt (vel' `dot` vel') > 0 ->
|
||||
| sqrt (colldpos `dot` colldpos) > 0 ->
|
||||
stat
|
||||
{ asId = aId
|
||||
{ aiDirection = direction vel' rot'
|
||||
|
@ -411,8 +411,7 @@ updateMap dt = do
|
|||
if dpc < 0
|
||||
then [(floor dpc :: Int) .. 0]
|
||||
else [0 .. (ceiling dpc :: Int)])
|
||||
ent = unchanged
|
||||
{ pos = Set $ pos' + dpos * Prelude.foldl
|
||||
colldpos = dpos * Prelude.foldl
|
||||
(\acc a -> let ret = checkBoundsCollision2 pos' npos dt acc a
|
||||
in A.log A.Verbose (show ret) ret)
|
||||
(V2 1 1)
|
||||
|
@ -429,8 +428,10 @@ updateMap dt = do
|
|||
(maxr + fromIntegral dr, maxc + fromIntegral dc)
|
||||
) bs
|
||||
)
|
||||
(A.log A.Verbose (show lll ++ " " ++ show len) lll)
|
||||
lll -- (A.log A.Verbose (show lll ++ " " ++ show len) lll)
|
||||
)
|
||||
ent = unchanged
|
||||
{ pos = Set $ pos' + colldpos
|
||||
, rot = Set (direction vel' rot')
|
||||
, anim = Set nstat
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue