Habilidades nuevas teclas para el actor

yo ya cree nuevas teclas pero nose como ponerle al actor

Buenas, @Al33x_xD!

Me temo no entender tu pregunta… :hushed:

Podrias explicarte un poco mejor, y a ser posible con el código que te da el problema?

Un saludo.

Mire yo estoy creando un juego y quiero que mi heroe o actor se mueva con la W arriba, A izquierda, S abajo, D derecha como lo hago

Buenas, @Al33x_xD!

En ese link tienes un ejemplo completo de un actor personalizado que se mueve con esas teclas que pides:

Un saludo! :wink:

1 Like

Me tira
ERROR:AtributeError(’’ ‘dict’ object has no attribute ‘izquierda’’’,)
Y nose a que se debe

# coding: utf-8
import pilasengine
pilas = pilasengine.iniciar()

#nuevo teclado
nuevasteclas={
pilas.simbolos.a:'izquierda',
pilas.simbolos.s:'abajo',
pilas.simbolos.d:'derecha',
pilas.simbolos.w:'arriba'}
teclado=pilas.control.Control(nuevasteclas)

class IniciaElJuego(pilasengine.escenas.Escena):
    def iniciar(self):
        self.fondo=pilas.fondos.Fondo()
        self.fondo.imagen=pilas.imagenes.cargar("C:\pilastps\Palmapilas\imagenes\espacioa.jpg")
        amigodeheroe=pilas.actores.Amigo_De_Heroe()
        self.fondo.escala_x=(1)
        self.fondo.escala_y=(1.2)
        
pilas.escenas.vincular(IniciaElJuego)

class Amigo_De_Heroe(pilasengine.actores.Actor):
    def iniciar(self):
        self.imagen=pilas.imagenes.cargar("C:\pilastps\Palmapilas\imagenes\wavec.png")
        self.escala=0.1
        self.aprender(pilas.habilidades.MoverseConElTeclado,control=nuevasteclas)
        self.aprender(pilas.habilidades.Disparar)
        
pilas.actores.vincular(Amigo_De_Heroe)


pilas.escenas.IniciaElJuego()
pilas.ejecutar()

El nuevo control se llama “teclado”

Pero tu utilizaste “nuevasteclas”

Lo correcto sería:

self.aprender('MoverseConElTeclado',control=teclado)

Un saludo! :wink:

Graciasss ya no me tira error ni nada pero ahora nose mueve ose tipo apreto la A y no se mueve para la izquierda de igual Manera con la W D y S
:'c

Buenas, @Al33x_xD!

Voy a intentar revisar tu código más a fondo, pero para eso deberías indexar correctamente el código que subiste. Para hacerlo consulta este post, ok?
¡ Te damos la bienvenida al foro de pilas-engine !

Un saludo! :wink:

Si vas a usar tu actor en escenas, es mejor que la definición del control vaya dentro de la def iniciar del actor :wink:

#coding: utf-8
import pilasengine
pilas = pilasengine.iniciar()

class IniciaElJuego(pilasengine.escenas.Escena):
	def iniciar(self):
		self.fondo=pilas.fondos.Fondo()
		#self.fondo.imagen=pilas.imagenes.cargar("C:\pilastps\Palmapilas\imagenes\espacioa.jpg")
		amigodeheroe=pilas.actores.Amigo_De_Heroe()
		self.fondo.escala_x=(1)
		self.fondo.escala_y=(1.2)

pilas.escenas.vincular(IniciaElJuego)

class Amigo_De_Heroe(pilasengine.actores.Actor):
	def iniciar(self):
		#nuevo teclado
		nuevasteclas={
			pilas.simbolos.a:'izquierda',
			pilas.simbolos.s:'abajo',
			pilas.simbolos.d:'derecha',
			pilas.simbolos.w:'arriba'}
	
		teclado=pilas.control.Control(nuevasteclas)
		#self.imagen=pilas.imagenes.cargar("C:\pilastps\Palmapilas\imagenes\wavec.png")
		#self.escala=0.1
		self.imagen = 'aceituna.png'
		self.aprender('MoverseConElTeclado', control=teclado)
		self.aprender(pilas.habilidades.Disparar)

pilas.actores.vincular(Amigo_De_Heroe)

pilas.escenas.IniciaElJuego()
pilas.ejecutar()
1 Like

Gracias listo ya funciona