X-Git-Url: https://git.yukkurigames.com/?p=python-bulletml.git;a=blobdiff_plain;f=bulletml%2F__init__.py;h=d872be88ed5eb738d2022c182faa220ccc6eed3a;hp=c31dce7640a84f27245e987beeeb6e87e9906f4e;hb=HEAD;hpb=bcc629f4faa2e762fb9d8c92af7583497dc15e2a diff --git a/bulletml/__init__.py b/bulletml/__init__.py index c31dce7..d872be8 100644 --- a/bulletml/__init__.py +++ b/bulletml/__init__.py @@ -4,29 +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, two simple collision routines are provided, bulletml.overlaps -for stationary circles and bulletml.collides for 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 @@ -36,11 +39,10 @@ attributes that can be used to influence it. from bulletml.parser import BulletML from bulletml.impl import Bullet -from bulletml.collision import overlaps, collides +from bulletml.collision import overlaps, collides, collides_all -VERSION = (1,) +VERSION = (3,) VERSION_STRING = ".".join(map(str, VERSION)) __all__ = ["VERSION", "VERSION_STRING", "Bullet", "BulletML", - "overlaps", "collides"] - + "overlaps", "collides", "collides_all"]