My favorites | Sign in
Project Logo
                
Search
for
Updated Oct 30, 2008 by arturoeanton
GuiaDeProgramacion  
One-sentence summary of this page.

Guia de programación

Cocos2d es un framework para el desarrollo de juegos en 2D, presentaciones y otras aplicaciones graficas interactivas.

Cocos2d simplifica el desarrollo de juegos en las siguientes áreas:

Control de Flujo (Flow Control): manejo de una forma fácil el control de flujo entre las diferentes escenas.

Instalación

  1. Instalar python 2.4 con ctypes o con python 2.5.
2.Instalar pyglet 1.1beta o superior desde pyglet's homepage . Si usted quiere usar pyglet 1.0, use cocos2d v0.1.x instead. 3.Por último, elegir una de las siguientes opciones:

Escribir una aplicación en cocos2d.

Los primeros pasos con una nueva biblioteca o framework puede ser intimidante, especialmente cuando se presenta con una gran cantidad de material de referencia para leer. En este capítulo se da una muy rápida introducción a cocos2d sin cubrir ninguno de los detalles.

Hola Mundo.

Vamos a comenzar con "Hello, World". Este programa se abrirá una ventana con un texto en ella y esperar a ser cerrado. Usted puede encontrar el script completo en samples/hello_world.py.

Para empezar importamos el modulo de cocos

import cocos

Creamos una clase que herede de Layer y definimos la logica del programa de la suigiente manera:

class HelloWorld(cocos.layer.Layer):

Siempre llamamos a super en el constructor:

def __init__(self):
    super( HelloWorld, self ).__init__()

Para visualizar el texto, vamos a crear un label. Los argumentos se utilizan para fijar texto, el tipo de letra, la posición y la alineación del label:

label = cocos.text.Label('Hello, world',
                          font_name='Times New Roman',
                          font_size=32,
                          anchor_x='center', anchor_y='center')

El label se posisionara sobre el centro de la escena:

label.position = 320,240

El Label es una subclase de CocosNode este puede ser añadido como hijo. Todos los objetos CocosNode saben como renderizarse a si mismo, realizar las acciones y transformaciones. Para agregar como una capa del hijo, utilice el método CocosNode.add:

self.add( label )

Luego definomos la classe HelloWorld, necesitaremos inicializar y crear una ventana. Para ello inicializaremos un Director:

cocos.director.director.init()

a continuación creamos una instancia de HelloWorld:

hello_layer = HelloWorld ()

a continuación creamos una escena que contenga el layer HelloWorld con un hijo:

main_scene = cocos.scene.Scene (hello_layer)

y para finalizar vamos a correr la escena:

cocos.director.director.run (main_scene)

Un manera más corta para escribir los últimos 3 estados es la siguiente:

#cocos.director.director.run( cocos.scene.Scene( HelloWorld() ) )

Hola Acciones

Este ejemplo es muy similar al ejemplo #1 con la diferencia que este nos introduce en el mundo de las acciones. Una accion es como una orden. Usted le pude decir que ejecute una acción a cualquier objeto CocosNode. Usted puede buscar este programa en archivo samples/hello_world_actions.py Al igual que el ejemplo anterior importamos el modulo de cocos2d:

import cocos

si usted va a usar varias acciones, puede importar todas las acciones disponible en el namespace con la siguiente linea.

from cocos.actions import *

Aca esta una sublcalse ColorLayer que tiene fondo de color. a continuación hacemos una invocación a super () con color azul

class HelloWorld(cocos.layer.ColorLayer):
    def __init__(self):
        # blueish color
        super( HelloWorld, self ).__init__( 64,64,224,255)

como en el ejemplo anterior vamos a crear y agregar un label:

label = cocos.text.Label('Hello, World!',
    font_name='Times New Roman',
    font_size=32,
    halign='center', valign='center')

# set the label in the center of the screen
label.position = 320,240
self.add( label )

En este ejemplo también vamos a crear y agregar un sprite como hijo. En cocos2d los

sprites son objetos Sprite.
sprite = cocos.sprite.Sprite('grossini.png')

Ponemos el sprite en el centro de la pantalla. La posision por defecto es (0,0):

sprite.position = 320,240

Hemos establecido el atributo escala en 3. Esto significa que nuestro sprite será 3 veces más grande. La escala por defecto es 1.

sprite.scale = 3

Agrgamos al sprite como hijo pero sobre Agregamos el sprite como hijo, pero sobre el label seteando el z-value en 1, ya que el z-valor es 0:

self.add( sprite, z=1 )

Creamos una accion ScaleBy. Se escala en 3 veces el objeto que la ejecuta, en 2 segundos: scale = ScaleBy(3, duration=2) Le decimos al lebel:

Observe que el operador '+' es la secuencia de acción:

label.do( Repeat( scale + Reverse( scale) ) )

Y le decimos el sprite a hacer las mismas acciones pero a partir de la "escala de nuevo la acción:

sprite.do( Repeat( Reverse(scale) + scale ) )

Luego inicializamos el director como en el ejemplo anterior.

cocos.director.director.init()
hello_layer = HelloWorld ()

Y ... le decimos a la capa (sí, todos los objetos CocosNode puede ejecutar acciones) para ejecutar una acción RotateBy de 360 grados en 10 segundos:

hello_layer.do( RotateBy(360, duration=10) )

Por último, iniciar la ejecución:

# A scene that contains the layer hello_layer
main_scene = cocos.scene.Scene (hello_layer)

# And now, start the application, starting with main_scene
cocos.director.director.run (main_scene)

Details

Add your content here. Format your content with:


Sign in to add a comment
Hosted by Google Code