17 May 2007

New Opioid2D Pages

I've recovered what I could from the TRAC database, and put temporary pages for the project at http://opioid-interactive.com/opioid2d/. There isn't much besides the basic documentation so far, but I'll work on it more as soon as I have some free time again.


Anonymous Mike said...

Thanks again for sharing your hard work on the engine.


17 May, 2007 19:18  
Blogger Chaz said...

Thank you! Now me and my buddies can get to work and I can learn more about this Opioid thing (I've been using pygame for a while and he told me about this so I want to check it out...)

18 May, 2007 16:33  
Blogger Chaz said...

One question: does this library support sound and/or music yet? I didn't see it in the documentation page and I haven't had the time to look over the source yet, though... too much homework <_<

21 May, 2007 06:40  
Blogger shang said...

Currently, sound and music has to use pygame directly. I have plans for a new opi2d-style sound API too, but haven't had time to implement any of it yet.

21 May, 2007 11:23  
Blogger Viserys said...

Good to see the project is still alive and well :)
There are no guarantees at all pertaining to future versions and backwards compatibility at this point, right?

04 June, 2007 00:00  
Blogger J. A. said...

I have a couple of questions still:

1) How do I measure the width of a text object?

2) If I create a scene class, and then subclass it, any idea why the collision methods are not inherited?

3) How would you suggest making an sprite rotate around another sprite? I tried a KeepFacing action with -90 offset, and constantly calling an object method with "self.radial_velocity = (self.rotation, speed)", but if there are multiple objects rotating they tend to go out of sync.

Thank you for your library, it's off to a great start!

08 June, 2007 01:39  
Blogger shang said...


1) As a default, when you create a text object, it consists of several sprites (one for each letter). There is no direct way to get the width of the whole thing, but iterate through the text's "letters" attribute to gain access to the letter-sprites. If you create the text using the flag: single=True, then a single large sprite will be created, and you can read it's rect.width attribute. I.e.

txt = font.create("test", single=True)
width = txt.rect.width

2) This is a bug that I'll need to fix for the next version.

3) The best way is with a new Action implemented in the C++ side of the engine. I've been planning on adding such action for a while, so expect to see one in the next version.

Currently, to better keep the sprites in sync, you could calculate the exact position with sin/cos and set the sprite's position each frame, instead of manipulating its velocity.

Thank you for the feedback! These sort of questions help be prioritize the features and fixes that need to go the next released version.

08 June, 2007 20:25  

Post a Comment

Links to this post:

Create a Link

<< Home