Tilengine - The 2D retro graphics engine forum

Full Version: ejemplo sencillo
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Bien,como dije aqui tenemos un ejemplo sencillo de estudiar.

Entonces!,los ejemplos que yo digo que se deberian de hacer para facilitar el aprendizaje de tilengine,deben de seguir unas pautas fijas.

No tener mas de 10 variables,no se permite crear mas de una funcion aparte de la funcion main,como python no tiene main,pues codigo que te ahorras,no se permite crear mas de una clase y tampoco mas de un bucle aparte del bucle principal y el maximo de lineas a introducir serian unas 30 para no liar a la gente.

Con esto podemos estudiar linea por linea y aprender facilmente.Los comentarios no hacen falta,como son pocas lineas pues se puede estudiar una por una y descubrir que hace cada una.

Code:
from tilengine import *

#iniciar tilengine(resolucion horizontal,resolucion vertical,capas,sprites,animaciones)
engine = Engine.create(640,360,2,64,4)
#iniciar ventana
window = Window.create()
#quitar efecto crt
window.disable_crt_effect()
#color de fondo
engine.set_background_color(Color(120,215,242))

#cargar fondo de tilemap
tilemap = Tilemap.fromfile("layer_foreground.tmx")
fondo = Tilemap.fromfile("layer_background.tmx")
#mostrar fondo en una capa
engine.layers[0].setup(tilemap)
engine.layers[1].setup(fondo)
#cargamos los sprites
spriteset = Spriteset.fromfile("hero")
#mostramos el sprite
engine.sprites[0].setup(spriteset)
#colocamos el sprite en una posicion de la pantalla
engine.sprites[0].set_position(60,156)

mover_fondo = 0
#bucle principal
while window.process():
   #mover fondo con teclado
   if window.get_input(Input.RIGHT):
       engine.layers[0].set_position(mover_fondo,0)
       engine.layers[1].set_position(mover_fondo/2,0)
       mover_fondo += 2  
   elif window.get_input(Input.LEFT):
       engine.layers[0].set_position(mover_fondo,0)
       engine.layers[1].set_position(mover_fondo/2,0)
       mover_fondo -= 2

Aqui tenemos un ejemplo que carga un sprite y un fondo y luego mueve el fondo con la teclas,como ves se ven pocas cosas pero se puede aprender facilmente que eso es de lo que se trata,el que quiera codigos complicados pues ya los tiene,lo demas simplemente queremos aprender.

Entonces cada ejemplo tiene que estar centrado en una cosa solamente,este se centra en mostrar recursos y nada mas,para otros ejemplos como este se puede introducir las animaciones de los sprites solamente,para otra las animaciones de los fondos,para otro profundizar en los input,para otros las colisiones etc..

Pero siempre poco codigo y centrandose en una cosa solo,nada de mezclar conceptos,aunque aqui yo he mezclado los input con los graficos pero solo era a modo de prueba,espero que con esto haya quedado claro mi vision de como tienen que ser los ejemplos.Chao. Tongue
Gracias por el ejemplo Cool 

Hacer tutoriales no es sencillo, ya que se trata de una labor didáctica o educativa. Puedes tener 2 tipos de tutoriales:
  • Serie de tutoriales sencillos incrementales que avanzan progresivamente paso a paso
  • Tutorial complejo, independiente, centrado en un tópico avanzado. Requiere conocimientos previos.
En el primer caso hay que saber repartir los contenidos de forma coherente en cada paso, sin hacer incapié en cosas demasiado obvias, pero tampoco dando por hecho cosas que no están claras. Aquí hay mucho de técnicas de pedagoigía.
El segundo caso es más sencillo de hacer pero más complicado de seguir, es para quien ya sabe manejarse y quiere profundizar con ejemplos más complejos.

Como ves hay mucho de planificación y labor educativa. Desde aquí invito a cualquiera con habilidades didácticas a elaborar tutoriales de calidad!
Si me enseñas a usar la version de python de tilengine,yo mismo me encargo de hacer ejemplos sencillos a modo de tutorial para gente que solo tiene conocimientos basicos de programacion.

De hecho,mientras aprendia a usar gemix,yo hacia pequeños ejemplos papa mi a modo de tutorial para repasarlos en cualquier momento que no me acordara de algo ,y me servian como mi propia api.

Esto mismo puedo hacerlo con tilengine y subirlos para todos,pero me tienes que enseñar,aunque sea de tarde en tarde y cuando tu puedas y te apetezca,pero yo estoy dispuesto a ello.
(11-01-2018, 09:24 PM)Hokuto40 Wrote: [ -> ]Bien,como dije aqui tenemos un ejemplo sencillo de estudiar.

Entonces!,los ejemplos que yo digo que se deberian de hacer para facilitar el aprendizaje de tilengine,deben de seguir unas pautas fijas.

No tener mas de 10 variables,no se permite crear mas de una funcion aparte de la funcion main,como python no tiene main,pues codigo que te ahorras,no se permite crear mas de una clase y tampoco mas de un bucle aparte del bucle principal y el maximo de lineas a introducir serian unas 30 para no liar a la gente.

Con esto podemos estudiar linea por linea y aprender facilmente.Los comentarios no hacen falta,como son pocas lineas pues se puede estudiar una por una y descubrir que hace cada una.

Code:
from tilengine import *

#iniciar tilengine(resolucion horizontal,resolucion vertical,capas,sprites,animaciones)
engine = Engine.create(640,360,2,64,4)
#iniciar ventana
window = Window.create()
#quitar efecto crt
window.disable_crt_effect()
#color de fondo
engine.set_background_color(Color(120,215,242))

#cargar fondo de tilemap
tilemap = Tilemap.fromfile("layer_foreground.tmx")
fondo = Tilemap.fromfile("layer_background.tmx")
#mostrar fondo en una capa
engine.layers[0].setup(tilemap)
engine.layers[1].setup(fondo)
#cargamos los sprites
spriteset = Spriteset.fromfile("hero")
#mostramos el sprite
engine.sprites[0].setup(spriteset)
#colocamos el sprite en una posicion de la pantalla
engine.sprites[0].set_position(60,156)

mover_fondo = 0
#bucle principal
while window.process():
   #mover fondo con teclado
   if window.get_input(Input.RIGHT):
       engine.layers[0].set_position(mover_fondo,0)
       engine.layers[1].set_position(mover_fondo/2,0)
       mover_fondo += 2  
   elif window.get_input(Input.LEFT):
       engine.layers[0].set_position(mover_fondo,0)
       engine.layers[1].set_position(mover_fondo/2,0)
       mover_fondo -= 2

Aqui tenemos un ejemplo que carga un sprite y un fondo y luego mueve el fondo con la teclas,como ves se ven pocas cosas pero se puede aprender facilmente que eso es de lo que se trata,el que quiera codigos complicados pues ya los tiene,lo demas simplemente queremos aprender.

Entonces cada ejemplo tiene que estar centrado en una cosa solamente,este se centra en mostrar recursos y nada mas,para otros ejemplos como este se puede introducir las animaciones de los sprites solamente,para otra las animaciones de los fondos,para otro profundizar en los input,para otros las colisiones etc.. drift boss

Pero siempre poco codigo y centrandose en una cosa solo,nada de mezclar conceptos,aunque aqui yo he mezclado los input con los graficos pero solo era a modo de prueba,espero que con esto haya quedado claro mi vision de como tienen que ser los ejemplos.Chao. Tongue

Hi Mahmoud,

Thanks for this post, for your will to integrate Tilengine on Ring's standard library, and congratulations on hour's hard work on it!

Somebody told me about the Ring language some time ago, but I can't remember who or where it was. Let me know if you need some support to integrate Tilengine on the standard library, and how to proceed when I release updates to the engine.

Regards,