added a knobs instance for every fx_mode
This commit is contained in:
23
main.py
23
main.py
@ -14,7 +14,7 @@ class GuiMain:
|
||||
self.screenH = self.screen.get_height()
|
||||
self.screenW = self.screen.get_width()
|
||||
|
||||
fx_mode_labels = [
|
||||
self.fx_mode_labels = [
|
||||
'Strings',
|
||||
'Beat',
|
||||
'L-Loop',
|
||||
@ -25,25 +25,30 @@ class GuiMain:
|
||||
|
||||
# Create and position the fx_mode buttons
|
||||
self.fx_mode_buttons = []
|
||||
|
||||
self.fx_mode = 0
|
||||
|
||||
for i in range(len(fx_mode_labels)):
|
||||
for i in range(len(self.fx_mode_labels)):
|
||||
x = self.screenW * 2.5 / 19
|
||||
y = i * self.screenH / 7.5 + 45
|
||||
r_x = self.screenW * 0.35 / 19
|
||||
r_y = (self.screenH-20) / 16
|
||||
self.fx_mode_buttons.append(LozengeButton(self, fx_mode_labels[i], (x,y), r_x, r_y))
|
||||
|
||||
self.fx_mode_buttons[0].focused = True
|
||||
|
||||
self.knobs = Knobs(self, [0, 0.1, 0.4, 0.9, 0.2, 0.5, 0.8, 0.3])
|
||||
self.fx_mode_buttons.append(LozengeButton(self, self.fx_mode_labels[i], (x,y), r_x, r_y))
|
||||
|
||||
self.set_fx_mode(self.fx_mode_labels[self.fx_mode])
|
||||
|
||||
self.knobs = []
|
||||
for i in range(len(self.fx_mode_labels)):
|
||||
self.knobs.append(Knobs(self))
|
||||
|
||||
self.clock = pygame.time.Clock()
|
||||
self.running = True
|
||||
self.run()
|
||||
|
||||
def set_fx_mode(self, mode):
|
||||
self.fx_mode = self.fx_mode_labels.index(mode)
|
||||
for b in self.fx_mode_buttons:
|
||||
if b.name != mode: b.focused = False
|
||||
b.focused = (b.name == mode)
|
||||
|
||||
def run(self):
|
||||
while self.running:
|
||||
@ -58,7 +63,7 @@ class GuiMain:
|
||||
|
||||
# RENDER YOUR GAME HERE
|
||||
|
||||
self.knobs.display()
|
||||
self.knobs[self.fx_mode].display()
|
||||
|
||||
for button in self.fx_mode_buttons:
|
||||
button.display()
|
||||
|
||||
Reference in New Issue
Block a user