X-Git-Url: https://git.yukkurigames.com/?p=python-bulletml.git;a=blobdiff_plain;f=bulletml%2F__init__.py;fp=bulletml%2F__init__.py;h=d872be88ed5eb738d2022c182faa220ccc6eed3a;hp=62a1d0419c696097fb723e58084287194d2056e6;hb=dca04aaf45403526f46d0f2ffe07cf6f062ee136;hpb=1880336bb4dedf2261d8902070ee3f143718c8e4 diff --git a/bulletml/__init__.py b/bulletml/__init__.py index 62a1d04..d872be8 100644 --- a/bulletml/__init__.py +++ b/bulletml/__init__.py @@ -4,31 +4,32 @@ BulletML is the Bullet Markup Language. BulletML can describe the barrage of bullets in shooting games. (For example Progear, Psyvariar, Gigawing2, G DARIUS, XEVIOUS, ...) This module parses and executes BulletML scripts in Python. All data structures in it are -renderer-agnostic. +renderer-agnostic. A sample renderer for Pygame is included. The full +API documentation is contained in its Python docstrings. In addition to the standard BulletML XML format, this module supports -an equivalent YAML format. See bulletml.bulletyaml for more details. - -Finally, three simple collision routines are provided: -bulletml.overlaps for stationary circles, bulletml.collides for moving -circles, and bulletml.collides_all for one moving circle against many -moving circles. +an equivalent YAML format. For convenience, two simple collision +routines are provided, bulletml.overlaps for stationary circles and +bulletml.collides for moving circles. More information is available at the BulletML homepage, http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/index_e.html, or the -python-bullet homepage, http://code.google.com/p/python-bulletml/. +python-bulletml homepage, https://yukkurigames.com/python-bulletml/. + Basic Usage: from bulletml import Bullet, BulletML - doc = Bulletml.BulletML.FromDocument(open("test.xml", "rU")) + + doc = BulletML.FromDocument(open("test.xml", "rU")) player = ... # On your own here, but it needs x and y fields. rank = 0.5 # Player difficulty, 0 to 1 + bullet = Bullet.FromDocument(doc, x, y, target=player, rank=rank) bullets = [bullet] ... for bullet in bullets: - bullets.extend(bullet.step()) + bullets.extend(bullet.step()) # step() returns new Bullets ... For drawing, you're on your own, but Bullet instances have a number of @@ -40,9 +41,8 @@ from bulletml.parser import BulletML from bulletml.impl import Bullet from bulletml.collision import overlaps, collides, collides_all -VERSION = (2,) +VERSION = (3,) VERSION_STRING = ".".join(map(str, VERSION)) __all__ = ["VERSION", "VERSION_STRING", "Bullet", "BulletML", "overlaps", "collides", "collides_all"] -