import pygame from time import sleep pygame.init() controller = pygame.joystick.Joystick(0) controller.init() #membuat dictionary #key x value 0, key axis1 value 0. dst buttons = {'x':0,'o':0,'t':0,'s':0, 'L1':0,'R1':0,'L2':0,'R2':0, 'share':0,'options':0, 'axis1':0.,'axis2':0.,'axis3':0.,'axis4':0.} #membuat list bernama axiss dengan nilai awal 0. (float) axiss=[0.,0.,0.,0.,0.,0.] #membuat fungsi getJS dengan argumen name yang bernilai awal string kosong def getJS(name=''): #membuat variabel yang mengacu kpd variabel global yang didefinisikan di luar fungsi getJS, kita dapat memodifikasi dictionary buttons yang didefinisikan di luar fungsi getJS global buttons # retrieve any events ... for event in pygame.event.get(): # Analog Sticks if event.type == pygame.JOYAXISMOTION: #digunakan untuk membulatkan event.value dgn 2 angka di belakang koma axiss[event.axis] = round(event.value,2) elif event.type == pygame.JOYBUTTONDOWN: # When button pressed #print(event.dict, event.joy, event.button, 'PRESSED') #melakukan iterasi pada semua key di dictionary buttons, providing key dan valuenya for x,(key,val) in enumerate(buttons.items()): if x<10: if controller.get_button(x):buttons[key]=1 elif event.type == pygame.JOYBUTTONUP: # When button released #print(event.dict, event.joy, event.button, 'released') for x,(key,val) in enumerate(buttons.items()): if x<10: if event.button ==x:buttons[key]=0 # to remove element 2 since axis numbers are 0 1 3 4 buttons['Y'],buttons['A'] ,buttons['X'] ,buttons['B'] = [axiss[0],axiss[1],axiss[3],axiss[4]] if name == '': return buttons else: return buttons[name] def main(): print(getJS()) # To get all values sleep(0.05) #print(getJS('share')) # To get a single value #sleep(0.05) #if __name__ == '__main__': eksekusi ketika skrip dirun secara langsung #atau tidak dieksekusi ketika skrip diimport sebagai module if __name__ == '__main__': #__name__: variabel-bulitin spesial di python #ketika script python running, nilai dari __name__ diatur ke '__main__' #ketika dimasukkan sbg modul, nilai __name__ diatur ke nama module while True: main()