Beispiel #1
0
	def mouseMoveEvent(self, event):
		TiledCanvas.mouseMoveEvent(self, event)
		if self.on_click == self.put_current_tile:
			if self.mouse_button_down:
				self.on_click(event)
		else:
			if self.on_click == self.place_selected_entity and self.selected_entity:
				self.selected_entity.place(event.pos().x(), event.pos().y())
				return
			
			entities = self.scene.items(self.mapToScene(event.pos().x(), event.pos().y()))
			for entity in entities:
				if self.selected_entity == entity:
					return
				
				if isinstance(entity, Map.Entity):
					self.selected_entity = entity
					rect = entity.boundingRect()
					rect.moveTo(entity.pos())
					self.hover_cursor.setRect(rect)
					self.hover_cursor.setVisible(True)
					return
			
			self.hover_cursor.setVisible(False)
			self.selected_entity = None
Beispiel #2
0
	def __init__(self, tileset, tileset_path):
		TiledCanvas.__init__(self)
		
		self.tileset = tileset	
		self.set_tileset_image(tileset_path)
		
		self.setFocusPolicy(Qt.NoFocus)
		self.width = 0 # nombre de zones en largeur
		self.height = 0 # nombre de zones en hauteur
		self.zones = []
		self.history = []
		self.tiles = []
		
		# widget is disabled untill a map is loaded
		self.setEnabled(False)
		self.set_cursor_visible(False)
		self.tiles_builded = False
		self.filename = None
		
		# on click callback method
		self.on_click = self.put_current_tile
		self.mouse_button_down = False
		
		self.selected_entity = None # pour les déplacements et les suppressions
		self.entities = []
		
		self.resize(Zone.WIDTH, Zone.HEIGHT)
		self.grid = [] # contains the grid lines (QGraphicsLineItem)
		# hover cursor
		rect = QRectF(0, 0, self.TILESIZE, self.TILESIZE)
		pen = QPen(Qt.blue, 1, Qt.SolidLine)
		brush = QBrush(QColor.fromRgb(0, 0, 255, 64))
		
		self.hover_cursor = self.scene.addRect(rect, pen, brush)
		self.hover_cursor.setVisible(False)
		self.hover_cursor.setZValue(Map.Z_UNIT + 1)
	def mousePressEvent(self, event):
		TiledCanvas.mousePressEvent(self, event)
		self.info.set_current_tile(self.get_tile_id())
Beispiel #4
0
	def mousePressEvent(self, event):
		TiledCanvas.mousePressEvent(self, event)
		if event.button() == Qt.LeftButton:
			self.mouse_button_down = True
			self.on_click(event)
	def __init__(self, tileset_path, frameinfo):
		TiledCanvas.__init__(self)
		
		self.set_tileset_image(tileset_path)		
		self.info = frameinfo