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

      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


      #74298

      andcamp
      Partecipante
      • Veterano Platino
      • β˜…β˜…β˜…β˜…β˜…β˜…
      • Conversazioni totali5571
      • Blender.it Staff
      • Associato Blender Italia
      • Moderatore Forum

      che versione di Python Γ¨ e per quale versione di Bledner?


      #74299

      Admin blender.it
      Amministratore del forum

        Ulilizzo blender 2.56 con python 3.1.2


        #74300

        Anonimo
        Membro
        • Veterano Oro
        • β˜…β˜…β˜…β˜…β˜…
        • Conversazioni totali4019

        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.