Benjamin, The math for rotation was the thing I was most trying to avoid. If I have a complex shape, I would need to know the center, rotate every point, and fill the colored portions in. That sounds hard.
I want to use Sprites as the visual component of a simulation. The behaviors of objects in the simulation are my focus, so I thought the visual component should be simple. What I want is to define an image using some geometric shapes (preferably not a bitmap!) and pass it to a Sprite. Is there anyway to do that? Jonathon On Wednesday, March 4, 2020 at 7:19:17 AM UTC-5, Benjamin Moran wrote: > > Hi Jonathon, > > Rather than trying to turn GL primitives in to an image to use with a > Sprite, you could also make a Sprite-like class for the various shapes. > This can get tricky if you want to rotate them, as you'll have to add your > own math to do that work, but as an example I'll post a simple Rectangle > class below. You can make similar classes for a variety of shapes: > > > class Rectangle: > def __init__(self, x, y, width, height, color=(255, 255, 255, 255), > batch=None, group=None): > self._x = x > self._y = y > self._size = [width, height] > self._color = color > self._batch = batch > self._group = group > self._vertex_list = batch.add(6, GL_TRIANGLES, group, 'v2f', 'c4B') > self._update_vertex_list() > > def _update_vertex_list(self): > x = self._x > y = self._y > w, h = self._size > one = x, y > two = x + w, y > three = x + w, y + h > four = x, y + h > self._vertex_list.vertices[:] = one + two + three + three + one + four > self._vertex_list.colors[:] = self._color * 6 > > @property > def width(self): > return self._size[0] > > @width.setter > def width(self, value): > self._size[0] = value > self._update_vertex_list() > > @property > def height(self): > return self._size[1] > > @height.setter > def height(self, value): > self._size[1] = value > self._update_vertex_list() > > > > On Wednesday, March 4, 2020 at 12:29:55 AM UTC+9, Jonathon Parker wrote: >> >> The Sprite class takes an image and all the examples I have seen use an >> image file. Instead of using an image file, is it possible to use anything >> from pyglet.graphics to define an image? How do I do this? My goal is to >> take advantage of all the functions of a Sprite with a custom image created >> from multiple geometric shapes. >> >> FYI, I did successfully define an image (a green square) using >> SolidColorPattern, convert it to a texture, and pass it to a Sprite. After >> that I got stuck. >> >> >> -- You received this message because you are subscribed to the Google Groups "pyglet-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to pyglet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/pyglet-users/b66a36b8-671a-4639-a163-8e7bb9baf0c1%40googlegroups.com.