Action: Don't need the owner in the constructor. Factory function to create a child.
[python-bulletml.git] / bulletml / __init__.py
index 27faaf0..c31dce7 100644 (file)
@@ -9,6 +9,9 @@ renderer-agnostic.
 In addition to the standard BulletML XML format, this module supports
 an equivalent YAML format. See bulletml.bulletyaml for more details.
 
 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.
+
 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/.
 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/.
@@ -17,15 +20,13 @@ Basic Usage:
 
     from bulletml import Bullet, BulletML
     doc = Bulletml.BulletML.FromDocument(open("test.xml", "rU"))
 
     from bulletml import Bullet, BulletML
     doc = Bulletml.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
     rank = 0.5    # Player difficulty, 0 to 1
-    params = []   # Initial variable settings, usually empty
-    actions = [a(params, rank) for a in doc.actions]
-    bullet = Bullet(x, y, target=player, actions=actions, rank=rank)
+    bullet = Bullet.FromDocument(doc, x, y, target=player, rank=rank)
     bullets = [bullet]
     ...
     for bullet in bullets:
         bullets.extend(bullet.step())
     bullets = [bullet]
     ...
     for bullet in bullets:
         bullets.extend(bullet.step())
-
     ...
 
 For drawing, you're on your own, but Bullet instances have a number of
     ...
 
 For drawing, you're on your own, but Bullet instances have a number of
@@ -35,9 +36,11 @@ attributes that can be used to influence it.
 
 from bulletml.parser import BulletML
 from bulletml.impl import Bullet
 
 from bulletml.parser import BulletML
 from bulletml.impl import Bullet
+from bulletml.collision import overlaps, collides
 
 
-VERSION = (0, 1)
+VERSION = (1,)
 VERSION_STRING = ".".join(map(str, VERSION))
 
 VERSION_STRING = ".".join(map(str, VERSION))
 
-__all__ = ["VERSION", "VERSION_STRING", "Bullet", "BulletML"]
+__all__ = ["VERSION", "VERSION_STRING", "Bullet", "BulletML",
+           "overlaps", "collides"]