Script per player in prima persona non funziona

Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
  • Autore
    Articoli
  • #3457

    Admin blender.it
    Amministratore del forum
      Post sul forum 1262

    Salve ragazzi! 😀

    In questa settimana in cui sono stato a casa con l’influenza ho avuto tempo per provare nuove cose in blender, come ad esempio il game engine.

    Ho cominciato a creare un minigioco in prima persona:

    per la parte con il mouse ho preso uno script da internet e ok;

    per la parte della tastiera volevo usare un sensore che controlli tutti i tasti e utilizzare un controller python, in modo di avere un maggior controllo… (lo so che si potrebbero usare 4 sensori (w,a,s,d) con i relativi 4 controller e attuatori)

    quindi ho un sensore di nome FirstPerson di tipo keyboard, un controller di tipo python module che chiama FirstPerson.Move ed un attuatore di tipo motion, chiamato FirstPerson pure lui.

    Poi ho scritto questo script di nome FirstPerson:

    Code:
    ########################################################
    ### Module to create first person games in python ###
    ### Made by: Duri93 ###
    ########################################################

    ### Defines properties
    MoveSpeed = 0.2
    KeyPressed = bge.logic.KX_INPUT_ACTIVE

    ### Defines keyboard map
    Keyboard[‘W’] = bge.events.WKEY #Forward
    Keyboard[‘S’] = bge.events.SKEY #Backwards
    Keyboard[‘A’] = bge.events.AKEY #Left
    Keyboard[‘D’] = bge.events.DKEY #Right
    #Keyboard[‘C’] = bge.events.CKEY #Crouch
    #Keyboard[‘Space’] = bge.events.SPACEKEY #Jump

    ### Gets sensor, controller & actuator
    controller = bge.logic.getCurrentController()
    actuator = controller.actuators[‘FirstPerson’]
    sensor = controller.sensors[‘FirstPerson’]

    ### Move function
    def Move(controller):
    # Gets where to move
    if sensor.getKeyStatus(Keyboard[‘W’]) == KeyPressed:
    move[‘y’] = MoveSpeed
    if sensor.getKeyStatus(Keyboard[‘S’]) == KeyPressed:
    move[‘y’] = -MoveSpeed
    if sensor.getKeyStatus(Keyboard[‘A’]) == KeyPressed:
    move[‘x’] = -MoveSpeed
    if sensor.getKeyStatus(Keyboard[‘D’]) == KeyPressed:
    move[‘x’] = MoveSpeed

    actuator.offset_location = [move[‘x’], move[‘y’], 0.0]

    Solo che non si muove nulla, e nella console di python non vengono mostrati errori…

    Ora io vi chiedo se ci sono errori di scripting e se c’è un modo per effettuare un debug dello script ed individuare gli errori senza scrivere in un forum ogni volta…

    Grazie mille e ciao


    Blender.it

    Regolamento

    #74298

    andcamp
    Moderatore
    • Veterano Platino
    • ★★★★★★
    • Post sul forum 5416
    • Blender Italia Staff
    • Associato Blender Italia

    che versione di Python è e per quale versione di Bledner?


    #74299

    Admin blender.it
    Amministratore del forum
      Post sul forum 1262

    Ulilizzo blender 2.56 con python 3.1.2


    Blender.it

    Regolamento

    #74300

    Utente cancellato
    Partecipante

      benvenuto quando hai tempo puoi presentarti in sezione off topic è sempre buona norma farlo…

      buon lavoro!

    Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)

    Devi essere loggato per rispondere a questa discussione.