kawa-kokosowa / sappho

2D Game Library
http://sappho.lillian.link/
MIT License
15 stars 1 forks source link

add collisionsprite and introduce mask threshold #69

Closed kawa-kokosowa closed 8 years ago

coveralls commented 8 years ago

Coverage Status

Coverage decreased (-0.9%) to 93.662% when pulling a4cc470a23e825c3b934d154e384bbb82ed40030 on collision into 39ef5240b4c7bff1ef87bef4f8a0e60c07930947 on master.

coveralls commented 8 years ago

Coverage Status

Coverage increased (+1.2%) to 95.775% when pulling 3ea819921c8fe10d04860e11589697a54938f208 on collision into 39ef5240b4c7bff1ef87bef4f8a0e60c07930947 on master.

kawa-kokosowa commented 8 years ago

From 1165725 ("collision closer to 100% working"):

Rename "physicalsprite" stuff to "collisionsprite" because that encompasses its scope more accurately.

Update demo.py to use collisionsprite and do collision accurately. I may need to cut some of the collision logic therein to be put as method(s) fer CollisionSprite.

There remains a bug whereas the player is capable of becoming ensnared once collision has been detected.

Removed the bitbucket install of pygame from requirements/main.txt because it works only on a meager handful of platforms. I'll have to document pygame installation on various platforms. Maybe that Hypatia Engine bootstrapper is actually a good thing. We really should pair that with Jenkins testing all OSs we support in the bootstrapper.

Changed tilesheet rules to use new flag term "solid" which replaces solid_block.

Add Tile collision support with automasking and rect creation when solid is specified.

Implement Tile.copy() so tiles from a tilesheet may be copied and be capable of differences on the tile map, such as rect coordinate.

Remove get_solid_blocks() in TileMap because it's replaced by set_solid_toplefts() (see docstring for details).