spritesheets in pyqt spritesheets in pyqt
The solution for “spritesheets in pyqt spritesheets in pyqt” can be found here. The following code will assist you in solving the problem.
class PowerUp(QtGui.QGraphicsRectItem):
def __init__(self):
QtGui.QGraphicsRectItem.__init__(self)
self.images = [‘data/images/objects/bonus_block/full-0.png’,
‘data/images/objects/bonus_block/full-1.png’,
‘data/images/objects/bonus_block/full-2.png’,
‘data/images/objects/bonus_block/full-3.png’,
‘data/images/objects/bonus_block/full-4.png’]
self.image = self.images[0]
self.current = 0
self.position()
self.timer = QtCore.QTimer()
self.timer.timeout.connect(self.animation_step)
self.timer.start(175)
#random.choice([slide(), ghost()])
def position(self):
self.pos_x = random.randint(-300, 300)
self.pos_y = random.randint(-200, 200)
def boundingRect(self):
return QtCore.QRectF(0, 0, 32, 32)
def paint(self, painter, option, widget):
painter.setBrush(QtGui.QBrush(self.image))
painter.setPen(QtGui.QPen(QtCore.Qt.NoPen))
painter.drawRect(0, 0, 32, 32)
self.setPos(self.pos_x, self.pos_y)
def animation_step(self):
self.image = QtGui.QPixmap(self.images[self.current])
self.current += 1
if self.current == len(self.images):
self.current = 0# -*- coding: utf-8 -*-
import sys
import time
from PyQt4 import QtGui, QtCore
class SpriteAnimation(object):
def __init__(self, image_path, sprite_width, sprite_height, label):
pixmap = QtGui.QPixmap(image_path)
width, height = pixmap.width(), pixmap.height()
self.pixmaps = []
for x in range(0, width, sprite_width):
for y in range(0, height, sprite_height):
self.pixmaps.append(pixmap.copy(x, y,
sprite_width, sprite_height))
self._current_frame = 0
self.label = label
def play(self, interval=100):
self._timer = QtCore.QTimer(interval=interval,
timeout=self._animation_step)
self._timer.start()
def _animation_step(self):
self.label.setPixmap(self.pixmaps[self._current_frame])
self.label.update()
self._current_frame += 1
if self._current_frame >= len(self.pixmaps):
self._current_frame = 0
class Window(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.resize(100, 100)
layout = QtGui.QVBoxLayout(self)
label = QtGui.QLabel()
layout.addWidget(label)
# http://content.makeyourflashgame.com/pbe/tutorials/star-green.png
self.animation = SpriteAnimation(‘star-green.png’, 80, 80, label)
self.animation.play()
if __name__ == ‘__main__’:
app = QtGui.QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
More questions on [categories-list]
- tss from gene granges
- ixl ansers ixl ansers
- get coin prices node-binance
- how to setup netflix workflow worker
- spritesheets in pyqt spritesheets in pyqt
- cahokia mounds pictures cahokia mounds pictures cahokia mounds pictures
- python 2 decimal places how to get decimal part of a double in python set number of decimals python
- how to find nuber of tweets per day using python how to find nuber of tweets per day using python how to find nuber of tweets per day using python how to find nuber of tweets per day using python how to find nuber of tweets per day using python
- haskell get specific elements of a String
- vb net code snippets for storing password
- error TS2307: Cannot find module ‘@ngx-meta/core’.
- inline scripts encapsulated in tags