mirror of
https://github.com/Astatin3/autoPlanner.git
synced 2026-06-08 23:58:00 -06:00
TODO: Add sticks and D-Pad
This commit is contained in:
+158
-92
@@ -1,4 +1,6 @@
|
|||||||
import math
|
import math
|
||||||
|
import copy
|
||||||
|
import json
|
||||||
|
|
||||||
render = None
|
render = None
|
||||||
pathEditor = None
|
pathEditor = None
|
||||||
@@ -44,7 +46,6 @@ buttonPositions = {
|
|||||||
'RT': ((1096,67),150)
|
'RT': ((1096,67),150)
|
||||||
}
|
}
|
||||||
|
|
||||||
controllerCount = 2
|
|
||||||
|
|
||||||
|
|
||||||
def getKeyframeAtPos(index):
|
def getKeyframeAtPos(index):
|
||||||
@@ -121,9 +122,30 @@ def getSurroundingPosFrames(index):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def getLeftButtonFrame(index):
|
||||||
|
for i in range(index,0,-1):
|
||||||
|
frame = getKeyframeAtPos(i)
|
||||||
|
if frame != None and frame['type'] == 'controller':
|
||||||
|
return frame
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def getButtonFrameAtPos(index):
|
||||||
|
for i in range(len(keyFrames)):
|
||||||
|
frame = keyFrames[i]
|
||||||
|
if frame != None and frame['type'] == 'controller':
|
||||||
|
return frame
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def getRobotAtIndex(index):
|
def getRobotAtIndex(index):
|
||||||
prevFrame, nextFrame = getSurroundingPosFrames(index)
|
prevFrame, nextFrame = getSurroundingPosFrames(index)
|
||||||
|
|
||||||
|
if prevFrame == None and nextFrame == None:
|
||||||
|
return (0,0), 0
|
||||||
if prevFrame == None:
|
if prevFrame == None:
|
||||||
return nextFrame['position'], nextFrame['rotation']
|
return nextFrame['position'], nextFrame['rotation']
|
||||||
elif nextFrame == None:
|
elif nextFrame == None:
|
||||||
@@ -193,7 +215,6 @@ def reloadBar(pos):
|
|||||||
if keyFrames[dragFrameIndex]['type'] == 'position':
|
if keyFrames[dragFrameIndex]['type'] == 'position':
|
||||||
prevFrame, nextFrame = getSurroundingPosFrames(ogDragFramePos)
|
prevFrame, nextFrame = getSurroundingPosFrames(ogDragFramePos)
|
||||||
|
|
||||||
# print(prevFrame['timeIndex'] == nextFrame['timeIndex'])
|
|
||||||
if prevFrame == nextFrame:
|
if prevFrame == nextFrame:
|
||||||
pass
|
pass
|
||||||
elif prevFrame == None:
|
elif prevFrame == None:
|
||||||
@@ -218,7 +239,7 @@ def reloadBar(pos):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
def clickBar(pos, doubleClick):
|
def clickBar(pos):
|
||||||
for i in range(displayTicks):
|
for i in range(displayTicks):
|
||||||
x1 = i * (render.width/(displayTicks))
|
x1 = i * (render.width/(displayTicks))
|
||||||
x2 = (render.width/(displayTicks))
|
x2 = (render.width/(displayTicks))
|
||||||
@@ -229,23 +250,89 @@ def clickBar(pos, doubleClick):
|
|||||||
global dragFrameIndex
|
global dragFrameIndex
|
||||||
global ogDragFramePos
|
global ogDragFramePos
|
||||||
selFrame = i
|
selFrame = i
|
||||||
if not doubleClick and dragFrameIndex == -1:
|
if dragFrameIndex == -1:
|
||||||
dragFrameIndex = getFrameIndex(getKeyframeAtPos(i))
|
dragFrameIndex = getFrameIndex(getKeyframeAtPos(i))
|
||||||
ogDragFramePos = i
|
ogDragFramePos = i
|
||||||
if doubleClick and getKeyframeAtPos(i) == None:
|
|
||||||
keyFrames.append({
|
|
||||||
'type': 'controller',
|
|
||||||
'timeIndex': i
|
|
||||||
})
|
|
||||||
return
|
return
|
||||||
|
|
||||||
# def getControllerRects():
|
|
||||||
# rects = []
|
|
||||||
# for i in range(controllerCount):
|
def createBlankController():
|
||||||
# rects.append()
|
returnArr = []
|
||||||
|
for i in range(len(controllerRects)):
|
||||||
|
returnArr.append({
|
||||||
|
'A': False,
|
||||||
|
'B': False,
|
||||||
|
'X': False,
|
||||||
|
'Y': False,
|
||||||
|
'Dpad_Up': False,
|
||||||
|
'Dpad_Down': False,
|
||||||
|
'Dpad_Left': False,
|
||||||
|
'Dpad_Right': False,
|
||||||
|
'Menu': False,
|
||||||
|
'Windows': False,
|
||||||
|
'Left_Stick': False,
|
||||||
|
'Right_Stick': False,
|
||||||
|
'LB': False,
|
||||||
|
'RB': False,
|
||||||
|
'LT': False,
|
||||||
|
'RT': False
|
||||||
|
})
|
||||||
|
return returnArr
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def toggleControllerButton(btnStr, controllerIndex):
|
||||||
|
global keyFrames
|
||||||
|
lastFrame = getLeftButtonFrame(selFrame)
|
||||||
|
if lastFrame == None:
|
||||||
|
keyFrames.append({
|
||||||
|
"type": "controller",
|
||||||
|
"timeIndex": selFrame,
|
||||||
|
"controllers": createBlankController()
|
||||||
|
})
|
||||||
|
frame = keyFrames[len(keyFrames)-1]
|
||||||
|
elif lastFrame['timeIndex'] != selFrame:
|
||||||
|
keyFrames.append({
|
||||||
|
"type": "controller",
|
||||||
|
"timeIndex": selFrame,
|
||||||
|
"controllers": copy.deepcopy(lastFrame['controllers'])
|
||||||
|
})
|
||||||
|
frame = keyFrames[len(keyFrames)-1]
|
||||||
|
else:
|
||||||
|
frame = lastFrame
|
||||||
|
|
||||||
|
if not btnStr in ['Dpad_Up', 'Dpad_Down', 'Dpad_Left', 'Dpad_Right']:
|
||||||
|
|
||||||
|
frame['controllers'][controllerIndex][btnStr] = not frame['controllers'][controllerIndex][btnStr]
|
||||||
|
|
||||||
|
# Dpad Stuff
|
||||||
|
elif frame['controllers'][controllerIndex][btnStr] == True:
|
||||||
|
for btn in ['Dpad_Up', 'Dpad_Down', 'Dpad_Left', 'Dpad_Right']:
|
||||||
|
frame['controllers'][controllerIndex][btn] == False
|
||||||
|
else:
|
||||||
|
for btn in ['Dpad_Up', 'Dpad_Down', 'Dpad_Left', 'Dpad_Right']:
|
||||||
|
frame['controllers'][controllerIndex][btn] == False
|
||||||
|
frame['controllers'][controllerIndex][btnStr] = True
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def getControllerButtons(controllerIndex):
|
||||||
|
frame = getLeftButtonFrame(selFrame)
|
||||||
|
if frame == None:
|
||||||
|
return createBlankController()[0]
|
||||||
|
else:
|
||||||
|
return frame['controllers'][controllerIndex]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def renderXboxControllers():
|
def renderXboxControllers():
|
||||||
for rect in controllerRects:
|
for i in range(len(controllerRects)):
|
||||||
|
|
||||||
|
rect = controllerRects[i]
|
||||||
|
|
||||||
offsetSize = rect[2]/buttonImages['Controller'].get_width()
|
offsetSize = rect[2]/buttonImages['Controller'].get_width()
|
||||||
|
|
||||||
@@ -254,31 +341,22 @@ def renderXboxControllers():
|
|||||||
rect2 = ((pos[0]-(size/2), pos[1]-(size/2), size, size))
|
rect2 = ((pos[0]-(size/2), pos[1]-(size/2), size, size))
|
||||||
return (rect[0]+(rect2[0])*offsetSize,rect[1]+(rect2[1])*offsetSize,rect2[2]*offsetSize,rect2[2]*offsetSize)
|
return (rect[0]+(rect2[0])*offsetSize,rect[1]+(rect2[1])*offsetSize,rect2[2]*offsetSize,rect2[2]*offsetSize)
|
||||||
|
|
||||||
|
|
||||||
render.image(buttonImages['Controller'], rect)
|
render.image(buttonImages['Controller'], rect)
|
||||||
|
|
||||||
render.image(buttonImages['A'], offsetControllerButton('A'))
|
btns = getControllerButtons(i)
|
||||||
render.image(buttonImages['B'], offsetControllerButton('B'))
|
|
||||||
render.image(buttonImages['X'], offsetControllerButton('X'))
|
|
||||||
render.image(buttonImages['Y'], offsetControllerButton('Y'))
|
|
||||||
|
|
||||||
render.image(buttonImages['Dpad'], offsetControllerButton('Dpad'))
|
for btn in ['A','B','X','Y','Menu','Windows','LB','RB','LT','RT']:
|
||||||
|
if btns[btn]:
|
||||||
render.image(buttonImages['Menu'], offsetControllerButton('Menu'))
|
render.image(render.invert(buttonImages[btn]), offsetControllerButton(btn))
|
||||||
render.image(buttonImages['Windows'], offsetControllerButton("Windows"))
|
else:
|
||||||
|
render.image(buttonImages[btn], offsetControllerButton(btn))
|
||||||
render.image(buttonImages['Left_Stick'], offsetControllerButton('Left_Stick'))
|
|
||||||
render.image(buttonImages['Right_Stick'], offsetControllerButton('Right_Stick'))
|
|
||||||
|
|
||||||
|
|
||||||
render.image(buttonImages['LB'], offsetControllerButton('LB'))
|
|
||||||
render.image(buttonImages['RB'], offsetControllerButton('RB'))
|
|
||||||
|
|
||||||
render.image(buttonImages['LT'], offsetControllerButton("LT"))
|
|
||||||
render.image(buttonImages['RT'], offsetControllerButton('RT'))
|
|
||||||
|
|
||||||
def controllerClick(pos):
|
def controllerClick(pos):
|
||||||
for rect in controllerRects:
|
for i in range(len(controllerRects)):
|
||||||
|
|
||||||
|
rect = controllerRects[i]
|
||||||
|
|
||||||
offsetSize = rect[2]/buttonImages['Controller'].get_width()
|
offsetSize = rect[2]/buttonImages['Controller'].get_width()
|
||||||
|
|
||||||
@@ -286,34 +364,10 @@ def controllerClick(pos):
|
|||||||
pos, size = buttonPositions[index]
|
pos, size = buttonPositions[index]
|
||||||
rect2 = ((pos[0]-(size/2), pos[1]-(size/2), size, size))
|
rect2 = ((pos[0]-(size/2), pos[1]-(size/2), size, size))
|
||||||
return (rect[0]+(rect2[0])*offsetSize,rect[1]+(rect2[1])*offsetSize,rect2[2]*offsetSize,rect2[2]*offsetSize)
|
return (rect[0]+(rect2[0])*offsetSize,rect[1]+(rect2[1])*offsetSize,rect2[2]*offsetSize,rect2[2]*offsetSize)
|
||||||
|
|
||||||
|
|
||||||
if render.isInRect(pos, offsetControllerButton('A')):
|
for btn in ['A','B','X','Y','Menu','Windows','LB','RB','LT','RT']:
|
||||||
print('A!')
|
if render.isInRect(pos, offsetControllerButton(btn)):
|
||||||
elif render.isInRect(pos, offsetControllerButton('B')):
|
toggleControllerButton(btn, i)
|
||||||
pass
|
|
||||||
elif render.isInRect(pos, offsetControllerButton('X')):
|
|
||||||
pass
|
|
||||||
elif render.isInRect(pos, offsetControllerButton('Y')):
|
|
||||||
pass
|
|
||||||
elif render.isInRect(pos, offsetControllerButton('Dpad')):
|
|
||||||
pass
|
|
||||||
elif render.isInRect(pos, offsetControllerButton('Menu')):
|
|
||||||
pass
|
|
||||||
elif render.isInRect(pos, offsetControllerButton('Windows')):
|
|
||||||
pass
|
|
||||||
elif render.isInRect(pos, offsetControllerButton('Left_Stick')):
|
|
||||||
pass
|
|
||||||
elif render.isInRect(pos, offsetControllerButton('Right_Stick')):
|
|
||||||
pass
|
|
||||||
elif render.isInRect(pos, offsetControllerButton('LB')):
|
|
||||||
pass
|
|
||||||
elif render.isInRect(pos, offsetControllerButton('RB')):
|
|
||||||
pass
|
|
||||||
elif render.isInRect(pos, offsetControllerButton('LT')):
|
|
||||||
pass
|
|
||||||
elif render.isInRect(pos, offsetControllerButton('RT')):
|
|
||||||
pass
|
|
||||||
|
|
||||||
class buttonEditor:
|
class buttonEditor:
|
||||||
name = "Button Editor"
|
name = "Button Editor"
|
||||||
@@ -332,42 +386,42 @@ class buttonEditor:
|
|||||||
|
|
||||||
global buttonImages
|
global buttonImages
|
||||||
buttonImages = {
|
buttonImages = {
|
||||||
"Controller": render.pg.image.load('images/XboxOne_Diagram_Simple.png').convert_alpha(),
|
"Controller": render.loadImg('images/XboxOne_Diagram_Simple.png'),
|
||||||
|
|
||||||
"A": render.pg.image.load('images/XboxOne_A.png').convert_alpha(),
|
"A": render.loadImg('images/XboxOne_A.png'),
|
||||||
"B": render.pg.image.load('images/XboxOne_B.png').convert_alpha(),
|
"B": render.loadImg('images/XboxOne_B.png'),
|
||||||
"X": render.pg.image.load('images/XboxOne_X.png').convert_alpha(),
|
"X": render.loadImg('images/XboxOne_X.png'),
|
||||||
"Y": render.pg.image.load('images/XboxOne_Y.png').convert_alpha(),
|
"Y": render.loadImg('images/XboxOne_Y.png'),
|
||||||
|
|
||||||
"Dpad": render.pg.image.load('images/XboxOne_Dpad.png').convert_alpha(),
|
"Dpad": render.loadImg('images/XboxOne_Dpad.png'),
|
||||||
"Dpad_Up": render.pg.image.load('images/XboxOne_Dpad_Up.png').convert_alpha(),
|
"Dpad_Up": render.loadImg('images/XboxOne_Dpad_Up.png'),
|
||||||
"Dpad_Down": render.pg.image.load('images/XboxOne_Dpad_Down.png').convert_alpha(),
|
"Dpad_Down": render.loadImg('images/XboxOne_Dpad_Down.png'),
|
||||||
"Dpad_Left": render.pg.image.load('images/XboxOne_Dpad_Left.png').convert_alpha(),
|
"Dpad_Left": render.loadImg('images/XboxOne_Dpad_Left.png'),
|
||||||
"Dpad_Right": render.pg.image.load('images/XboxOne_Dpad_Right.png').convert_alpha(),
|
"Dpad_Right": render.loadImg('images/XboxOne_Dpad_Right.png'),
|
||||||
|
|
||||||
"Menu": render.pg.image.load('images/XboxOne_Menu.png').convert_alpha(),
|
"Menu": render.loadImg('images/XboxOne_Menu.png'),
|
||||||
"Windows": render.pg.image.load('images/XboxOne_Windows.png').convert_alpha(),
|
"Windows": render.loadImg('images/XboxOne_Windows.png'),
|
||||||
|
|
||||||
"Left_Stick": render.pg.image.load('images/XboxOne_Left_Stick.png').convert_alpha(),
|
"Left_Stick": render.loadImg('images/XboxOne_Left_Stick.png'),
|
||||||
"Left_Stick_Click": render.pg.image.load('images/XboxOne_Left_Stick_Click.png').convert_alpha(),
|
"Left_Stick_Click": render.loadImg('images/XboxOne_Left_Stick_Click.png'),
|
||||||
"Right_Stick": render.pg.image.load('images/XboxOne_Right_Stick.png').convert_alpha(),
|
"Right_Stick": render.loadImg('images/XboxOne_Right_Stick.png'),
|
||||||
"Right_Stick_Click": render.pg.image.load('images/XboxOne_Right_Stick_Click.png').convert_alpha(),
|
"Right_Stick_Click": render.loadImg('images/XboxOne_Right_Stick_Click.png'),
|
||||||
|
|
||||||
|
|
||||||
"LB": render.pg.image.load('images/XboxOne_LB.png').convert_alpha(),
|
"LB": render.loadImg('images/XboxOne_LB.png'),
|
||||||
"RB": render.pg.image.load('images/XboxOne_RB.png').convert_alpha(),
|
"RB": render.loadImg('images/XboxOne_RB.png'),
|
||||||
"LT": render.pg.image.load('images/XboxOne_LT.png').convert_alpha(),
|
"LT": render.loadImg('images/XboxOne_LT.png'),
|
||||||
"RT": render.pg.image.load('images/XboxOne_RT.png').convert_alpha()
|
"RT": render.loadImg('images/XboxOne_RT.png')
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ControllerSize = (render.width/2, render.width*(buttonImages['Controller'].get_height()/buttonImages['Controller'].get_width())/2)
|
ControllerSize = (render.width/2, render.width*(buttonImages['Controller'].get_height()/buttonImages['Controller'].get_width())/2)
|
||||||
ControllerYOffset = (render.height-ControllerSize[1])/2
|
ControllerYOffset = (render.height-ControllerSize[1])/2
|
||||||
global controllerRects
|
global controllerRects
|
||||||
controllerRects = {
|
controllerRects = [
|
||||||
(0, render.topBarHeight+ControllerYOffset, ControllerSize[0], ControllerSize[1]),
|
(0, render.topBarHeight+ControllerYOffset, ControllerSize[0], ControllerSize[1]),
|
||||||
(ControllerSize[0], render.topBarHeight+ControllerYOffset, ControllerSize[0], ControllerSize[1])
|
(ControllerSize[0], render.topBarHeight+ControllerYOffset, ControllerSize[0], ControllerSize[1])
|
||||||
}
|
]
|
||||||
|
|
||||||
def refresh(self):
|
def refresh(self):
|
||||||
render.clear()
|
render.clear()
|
||||||
@@ -395,11 +449,11 @@ class buttonEditor:
|
|||||||
|
|
||||||
|
|
||||||
def mouseDown(self, pos):
|
def mouseDown(self, pos):
|
||||||
if buttonMode:
|
if buttonMode and pos[1] < bottomBarRect[1]:
|
||||||
controllerClick(pos)
|
controllerClick(pos)
|
||||||
self.refresh()
|
self.refresh()
|
||||||
elif pos[1] > bottomBarRect[1]:
|
elif pos[1] > bottomBarRect[1]:
|
||||||
clickBar(pos, False)
|
clickBar(pos)
|
||||||
self.refresh()
|
self.refresh()
|
||||||
|
|
||||||
|
|
||||||
@@ -424,24 +478,29 @@ class buttonEditor:
|
|||||||
|
|
||||||
def doubleClick(self, pos):
|
def doubleClick(self, pos):
|
||||||
if pos[1] > bottomBarRect[1]:
|
if pos[1] > bottomBarRect[1]:
|
||||||
clickBar(pos, True)
|
clickBar(pos)
|
||||||
self.refresh()
|
self.refresh()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def keyDown(self, key):
|
def keyDown(self, key):
|
||||||
global selFrame
|
global selFrame
|
||||||
|
global buttonMode
|
||||||
if key == render.pg.K_LEFT and selFrame > 0:
|
if key == render.pg.K_LEFT and selFrame > 0:
|
||||||
selFrame -= 1
|
selFrame -= 1
|
||||||
self.refresh()
|
self.refresh()
|
||||||
elif key == render.pg.K_RIGHT and selFrame < displayTicks-1:
|
elif key == render.pg.K_RIGHT and selFrame < displayTicks-1:
|
||||||
selFrame += 1
|
selFrame += 1
|
||||||
self.refresh()
|
self.refresh()
|
||||||
elif key == render.pg.K_e:
|
elif buttonMode and key == render.pg.K_DELETE and selFrame != -1:
|
||||||
global buttonMode
|
frame = getKeyframeAtPos(selFrame)
|
||||||
|
if frame != None and frame['type'] != 'position':
|
||||||
|
global keyFrames
|
||||||
|
keyFrames.remove(frame)
|
||||||
|
self.refresh()
|
||||||
|
elif selFrame != -1 and key == render.pg.K_e:
|
||||||
buttonMode = not buttonMode
|
buttonMode = not buttonMode
|
||||||
self.refresh()
|
self.refresh()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def updateNodes(self, loadKeyframes):
|
def updateNodes(self, loadKeyframes):
|
||||||
@@ -464,7 +523,9 @@ class buttonEditor:
|
|||||||
|
|
||||||
def load(self):
|
def load(self):
|
||||||
global selFrame
|
global selFrame
|
||||||
|
global buttonMode
|
||||||
selFrame = -1
|
selFrame = -1
|
||||||
|
buttonMode = False
|
||||||
|
|
||||||
global ogNodes
|
global ogNodes
|
||||||
global ogCtrlNodes
|
global ogCtrlNodes
|
||||||
@@ -473,7 +534,13 @@ class buttonEditor:
|
|||||||
if len(ogNodes) != len(pathEditor.nodes):
|
if len(ogNodes) != len(pathEditor.nodes):
|
||||||
|
|
||||||
global keyFrames
|
global keyFrames
|
||||||
keyFrames = []
|
|
||||||
|
for i in range(len(keyFrames)-1,-1,-1):
|
||||||
|
print(i)
|
||||||
|
if keyFrames[i]['type'] == 'position':
|
||||||
|
keyFrames.pop(i)
|
||||||
|
|
||||||
|
print('end')
|
||||||
|
|
||||||
self.updateNodes(False)
|
self.updateNodes(False)
|
||||||
|
|
||||||
@@ -489,7 +556,6 @@ class buttonEditor:
|
|||||||
"position": ogNodes[i],
|
"position": ogNodes[i],
|
||||||
"rotation": ogRotNodes[i]
|
"rotation": ogRotNodes[i]
|
||||||
})
|
})
|
||||||
# print(keyFrames)
|
|
||||||
else:
|
else:
|
||||||
self.updateNodes(True)
|
self.updateNodes(True)
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ class export:
|
|||||||
pg = tmppg
|
pg = tmppg
|
||||||
global render
|
global render
|
||||||
render = tmprender
|
render = tmprender
|
||||||
|
|
||||||
|
# render.addButton()
|
||||||
|
|
||||||
def mouseDown(self, pos):
|
def mouseDown(self, pos):
|
||||||
pass
|
pass
|
||||||
|
|||||||
+18
-3
@@ -1,4 +1,5 @@
|
|||||||
import math
|
import math
|
||||||
|
import os
|
||||||
from pygame.locals import *
|
from pygame.locals import *
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
@@ -14,6 +15,15 @@ nodeSquareWidth = 3
|
|||||||
|
|
||||||
nodeTickLength = 5
|
nodeTickLength = 5
|
||||||
|
|
||||||
|
def resource_path(relative_path):
|
||||||
|
try:
|
||||||
|
base_path = sys._MEIPASS
|
||||||
|
except Exception:
|
||||||
|
base_path = os.path.abspath(".")
|
||||||
|
|
||||||
|
return os.path.join(base_path, relative_path)
|
||||||
|
|
||||||
|
|
||||||
class render():
|
class render():
|
||||||
|
|
||||||
|
|
||||||
@@ -30,14 +40,14 @@ class render():
|
|||||||
|
|
||||||
self.font = self.pg.font.Font(None, 25)
|
self.font = self.pg.font.Font(None, 25)
|
||||||
|
|
||||||
self.fieldImg = pg.image.load("images/Field.png").convert_alpha()
|
self.fieldImg = self.loadImg("images/Field.png")
|
||||||
self.offsetSize = self.fieldImg.get_width() / self.width
|
self.offsetSize = self.fieldImg.get_width() / self.width
|
||||||
self.fieldImg = pg.transform.scale(self.fieldImg, (self.width, self.height))
|
self.fieldImg = pg.transform.scale(self.fieldImg, (self.width, self.height))
|
||||||
|
|
||||||
self.elements = []
|
self.elements = []
|
||||||
|
|
||||||
def invert(img):
|
def invert(self, img):
|
||||||
inv = pygame.Surface(img.get_rect().size, pygame.SRCALPHA)
|
inv = self.pg.Surface(img.get_rect().size, self.pg.SRCALPHA)
|
||||||
inv.fill((255,255,255,255))
|
inv.fill((255,255,255,255))
|
||||||
inv.blit(img, (0,0), None, BLEND_RGB_SUB)
|
inv.blit(img, (0,0), None, BLEND_RGB_SUB)
|
||||||
return inv
|
return inv
|
||||||
@@ -68,6 +78,11 @@ class render():
|
|||||||
def image(self, img, rect):
|
def image(self, img, rect):
|
||||||
self.screen.blit(self.pg.transform.scale(img, (rect[2], rect[3])), rect)
|
self.screen.blit(self.pg.transform.scale(img, (rect[2], rect[3])), rect)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def loadImg(self, path):
|
||||||
|
return self.pg.image.load(resource_path(path)).convert_alpha()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def robotSquare(self, pos, rot):
|
def robotSquare(self, pos, rot):
|
||||||
|
|||||||
Reference in New Issue
Block a user