Bueno, abrí este tema con permiso de Redoks para que escriban sobre sus conocimientos en macromedia flash, en especial la creación de juegos. Quizás también veremos la parte de animaciones. Para los que no saben nada y quieren aprender, los invito a participar.
Reglas:
*Las reglas generales que deberían haber leído todos.
*Esperar un tiempo adecuado para que les responda.
Descargas:
*Para los que quieren aprender pero no lo tienen aqui esta con la keygen y todo en ESPAÑOL.
Tutoriales posteados.
Crear juegos de Plataforma
Autor: Fran-Videos-Juegos
Para empezar tenemos que crear un personaje, pero no se maten haciendolo perfecto, simplemente hagan una bola y ya:
Ahora conviertanla en un objeto seleccionandola toda, haciendole clic secundario y poniendo en "Convert to Symbol" pero presten mucha atencion a la imagen que dejo ahora, porque si no configuran el objeto tal como dice la imagen, no les saldrá el juego (Excepto por el nombre, que pueden ponerle el que quieran):
Ahora que ya crearon a su personaje, vamos a hacer las plataformas. Dibujen un piso para que el personaje no se caiga y algunas plataformas para que se suba en ellas (les recomiendo hacerlo con la herramienta de rectangulo, se les hará mucho mas fácil) Para que el personaje no se caiga de las plataformas, hay que hacer lineas gruesas. Para eso tienen que seleccionar la herrameinta cuadrado y hacer clic en la flechita de abajo de todo que abre otro menu y cambiar el grosor de linea. Les recomiendo un 6 o 7. Les tiene que quedar algo asi:
Ahora que ya hicieron sus plataformas, seleccionenlas todas juntas con la herramienta "Selection Tool" (el puntero negro). Pero cuidado, no seleccionen la pelota, solamente las plataformas. Conviertanlas en un objeto haciendo lo mimso que con la pelota:
Bueno ahora que tienen los dos objetos necesarios, es hora de poner los codigos:
Seleccionen la pelota y abran el menu de abajo. Hagan clic en el boton que dice "Actions" (Arriba a la izquierda) e inserten este codigo:
onClipEvent (load) {
//esto se hace al cargar el movieclip solo 1 vez
xvel = 10;
//inicializa constante de velocidad en x
yvel = 0;
//inicializa constante de velocidad en x
salto = -15;
//inicializa constante de velocidad de salto
limite = 10;
//inicializa constante de velocidad limite de salto
}
onClipEvent (enterFrame) {
//esto se hace cada vez que avanza un frame
if (_root.suelo.hitTest(_x, _y+_height/2, true)) {
//si la pelota toca el suelo
while (_root.suelo.hitTest(_x, -2+_y+_height/2, true)) {
_y--;
//sube la pelota hasta que solo 1 pixel este tocando el suelo
//como comentario adicional todas las variables que empiezan con "_" se refieren a propiedades del objeto (en este caso la posicion en 'y' de la pelota)
}
yvel = 0;
//inicializa esta constante para que la pelota deje de caer despues de un salto
if (Key.isDown(Key.UP)) {
//si se presiona arriba
yvel = salto;
//se le asigna el valor de salto a la velocidad en y
_y += yvel;
//inicia el salto subiendo la pelota
}
} else if (_root.suelo.hitTest(_x, _y-_height/2, true)) {
//si toca una plataforma con la parte superior
yvel = yvel*-1;
//hace negativo el salto
_y += yvel;
//baja la pelota
while (_root.suelo.hitTest(_x, _y-_height/2, true)) {
_y++;
//si la pelota sigue pegando con la plataforma la baja hasta que ya no lo haga
}
} else {
//si esta en el aire
_y += yvel;
//cambia la posicion de la pelota dependiendo de yvel
if (yvel<=limite) { //si yvel no se ha pasado del limite
yvel++; //aumenta la variable creando un efecto de gravedad
}
}
_x += (Key.isDown(Key.RIGHT)-Key.isDown(Key.LEFT))*xvel; //se mueve la posicion en 'x' de la pelota dependiendo de el boton presionado
//si derecha esta presionado regresa 1*xvel y si izquierda esta presionado regresa -1*xvel
while (_root.suelo.hitTest(_x+_width/2, _y, true)) { //si pega con una pared por la derecha
_x--; //mueve la pelota hasta que no lo haga
} while (_root.suelo.hitTest(_x-_width/2, _y, true)) { //si pega con una pared por la izquierda
_x++; //mueve la pelota hasta que no lo haga
}
}
Ahora seleccionen las plataformas y en el nombre de instancia ("Instance Name") pongan: suelo
Les va a quedar algo asi:
Ahora que ya estan todos los codigos, tienen que cambiar los Frames por Segundo (fps) que están en "12". No seleccionen nada (haciendo clic en un espacio vacio) abran el menu de abajo y cambien donde dice "Frame rate: 12" y pongan "20". Les quedará algo asi:
Y... ¡Vóila! ¡Su juego de plataformas ya está hecho! Ahora hagan clic en "Control" y "Test Movie". Se mueven con las flechas y saltas con la flecha de arriba.
Espero que les sirva para que den "sus primeros pasos" en flash
Extra para crear juegos tipo Plataforma "mejorado"
Autor: Flinker
Bue ak les dejo el Tutorial.. cualquier cosa pregunten...
1º Abrimos un nuevo documento de flash y vamos a: Archivo--> Importar ---> a escenario y elegimos el sprite base de nuestro personaje (en este caso kakashi quieto).
2º Una vez q tenemos el personaje en la pantalla lo seleccionamos y con F8 lo convertimos en un MovieClip
3º Hacemos doble Click sobre el MC (entramos en el) y vamos a devuelta a Archivo--> Importar ---> a escenario ... que vamos a elegir ahora?... las distintas acciones que queremos que kakashi realice... Entonses en el primer Frame importamos una imagen de kakashi caminando, luego creamos un fotograma clave VACIO, y volvemos a Importar otra accion de kakashi, ej: kakashi pegando... asi sucesivamente con todas las acciones q tengamos...
4º A los frames que tienen las acciones de kakashi (caminar, correr, pegar) le vamos a poner un instance name, ej: imagen de kakashi corriendo le ponemos de instance name "correr" y tambien vamos a seleccionar cada una de las imagenes y las vamos a ir convirtiendo a cada una en un Movie Clip.
5º Dentro de nuestro MovieClip original (kakashi quieto) y donde estan los sprites de las diferentes acciones de kakashi, vamos a crear una nueva capa y por cada accion de kakashi vamos a crear un fotograma clave vacio y le asignamos la accion Stop()
6º Una vez que ya convertimos a las imagenes de las acciones de kakashi en MC y creamos la capa con los Stop(), vamos a entrar en cada una y vamos a Importar el resto del movimiento... como??.... Es fundamental GUARDAR LOS SPRITES ENUMERADOS Ej: pegando-1, pegando-2, pegando-3 , etc... Entonses en el 2º frame del MC (el 1º posee la accion base) vamos a crear un fotograma clave vacio y vamos a ir a importar y elegimos "pegando-2" entonses cuando aceptamos nos va a preguntar si queremos toda la secuencia... y le ponemos que si... y ahi ya nos va a importar todo el movimiento completo.
7º Ahora ya tenemos todos los movimientos listos... pero queda muy pobre la animacion sin sonido =P.... como le agregamos sonido?... Vamos a Archivo--->Importar---> A Biblioteca e importamos el sonidito que queremos... Entonses entramos al MovieClip con los sprites que queremos que tengan sonido: Ej: sonido de kakashi cuando pega. y seleccionando el 1º frame vamos abajo a la derecha y le agregamos el sonido
8º Bueno ahora falta lo mas importante que seria el codigo... el codigo lo vamos a agregar en el primero de todos los MC q creamos, osea en kakashi quieto..la barra de acciones esta abajo de la pantalla.
El codigo aca lo dejo:
onClipEvent(load){
var pelear=false;
}
//Caminar
onClipEvent(enterFrame){
if(pelear==false){
if(Key.isDown(Key.RIGHT)){
_x+=5;
_xscale=100;
gotoAndStop("caminar");
}
}
}
onClipEvent(enterFrame){
if(pelear==false){
if(Key.isDown(Key.LEFT)){
_x-=5;
_xscale=-100;
gotoAndStop("caminar");
}
}
}
//Pelear
onClipEvent(enterFrame){
if(Key.isDown(Key.CONTROL)){
gotoAndStop("pegar");
pelear=true;
}
else pelear=false;
}
El codigo a gran escala es bastante facil... cada vez q entramos en el Frame, Si la tecla "xxx" esta presionada, que valla y reprodusca la accion que queremos (lo que va entre ".." es el instance name que colocamos" .. y dps la parte de la cordenada es para que se mueva para la derecha _x+=5 (+ indica que camina para alla --> y el 5 es la velocidad a la que va a caminar)
9º (No me odien Frank y mrwasap)
Faltaba el codigo que hace que se deje de reproducir la animacion cuando toco la tecla... El codigo va a ir en el MC de cada una de las acciones q tengo... osea uno con kakashi camiando otro con kakashi pegando (con el kakashi quieto no se necesita codigo)
Ak dejo el codigo y la imagen:
http://img219.imageshack.us/img219/4791/paso6wq3.jpg
Este codigo para cuando camina
Código:
onClipEvent(enterFrame){
if(Key.isDown(Key.RIGHT))
this.play()
else if(Key.isDown(Key.LEFT))
this.play()
else this._parent.gotoAndStop("parado");
}
Este para cuando pega, o otra cosa..
Código:
onClipEvent(enterFrame){
if(Key.isDown(Key.CONTROL))
this.play()
else this._parent.gotoAndStop("parado");
}
Notese que es lo mismo solo que cuando camino tengo q agregar las 2 flechitas...
el else this._parent.... es lo que hace q vuelva a la accion de parado y no se siga repitiendo la misma accion.
El resultado --> http://server6.theimagehosting.com/i...akashi.088.swf (flechitas y Control)
Bue, en si le podria poner una cosita mas que seria que la pantalla se valla "moviendo" si nuestro personaje camina... pero primero hay que saber hacer esto...
Cualquier duda, si fui muy rapido, pregunten que no tengo ningun problema.
Crear juego Sniper
Autor: noob saibot
*Primero crean un nuevo documento flash.
*En propiedades coloca 30 fps.
*Crea un cubo de un tamaño del doble del escenario.
*Conviertelo en un clip de pelicula y le colocas un nombre de intancia.
*Hasle doble click para editarlo. (y tambien un click a mi zippy xD)
*Dentro de ese clip de pelicula crea un circulo de 150x150
*Despues en Y y X coloca -75,-75 y te quedara el circulo justo en el centro
*Borrale el fondo al circulo y te quedara un agujero.
*Colocale lo que quieras para que el apuntador se vea mejor, ejemplo una cruz.
*Ya esta listo la mira del sniper, asegura que tenga un nombre de intancia, ejemplo: Sniper
*Crea otra capa y asegura que la mira quede en la segunda capa que creaste (todavia no colques la mira)
*En la capa con la cual empezaste crea una ciudad.
*Conviertelo en clip de pelicula (te recomiendo que el punto de registro sea el centro).
*Dibuja unos hombres de palo y que la cabeza sea aparte de el cuerpo.
*Convierte la cabeza en un clip de pelicula
*Convierte el cuerpo en un clip de pelicula
*A ambos colocales un nombre de intancia (ejemplo: cabeza, cuerpo, etc)
*Une los 2 en un mismo clip de pelicula.
*Coloca 3 de esos hombres de palo en la ciudad.
*Colocale de nombre de intancia p1, el segundo p2 y el tercero p3.
*Clickea en el primer frame y coloca el siguiente action script:
Mouse.hide();
startDrag("el nombre que le diste a la mira sniper",true);
num_people=3;
*Despues esto:
onMouseDown=function(){
for(i=1;i<=num_people;i++){
if(_root["p"+i].head.hitTest(_root."el nombre que le diste a la mira sniper"._x,_root.scope._y,true)){
_root["p"+i]._visible=false;
}
}
}
*Esta listo su juego sniper.
Links:
Para los que no sepan hacer animaciones visiten esto
Tambien visita el tema:
Pedidos de sprites
Todavia quedan mas tutoriales, despues sigo editando y colocando.
Reglas:
*Las reglas generales que deberían haber leído todos.
*Esperar un tiempo adecuado para que les responda.
Descargas:
*Para los que quieren aprender pero no lo tienen aqui esta con la keygen y todo en ESPAÑOL.
Tutoriales posteados.
Crear juegos de Plataforma
Autor: Fran-Videos-Juegos
Para empezar tenemos que crear un personaje, pero no se maten haciendolo perfecto, simplemente hagan una bola y ya:
Ahora conviertanla en un objeto seleccionandola toda, haciendole clic secundario y poniendo en "Convert to Symbol" pero presten mucha atencion a la imagen que dejo ahora, porque si no configuran el objeto tal como dice la imagen, no les saldrá el juego (Excepto por el nombre, que pueden ponerle el que quieran):
Ahora que ya crearon a su personaje, vamos a hacer las plataformas. Dibujen un piso para que el personaje no se caiga y algunas plataformas para que se suba en ellas (les recomiendo hacerlo con la herramienta de rectangulo, se les hará mucho mas fácil) Para que el personaje no se caiga de las plataformas, hay que hacer lineas gruesas. Para eso tienen que seleccionar la herrameinta cuadrado y hacer clic en la flechita de abajo de todo que abre otro menu y cambiar el grosor de linea. Les recomiendo un 6 o 7. Les tiene que quedar algo asi:
Ahora que ya hicieron sus plataformas, seleccionenlas todas juntas con la herramienta "Selection Tool" (el puntero negro). Pero cuidado, no seleccionen la pelota, solamente las plataformas. Conviertanlas en un objeto haciendo lo mimso que con la pelota:
Bueno ahora que tienen los dos objetos necesarios, es hora de poner los codigos:
Seleccionen la pelota y abran el menu de abajo. Hagan clic en el boton que dice "Actions" (Arriba a la izquierda) e inserten este codigo:
onClipEvent (load) {
//esto se hace al cargar el movieclip solo 1 vez
xvel = 10;
//inicializa constante de velocidad en x
yvel = 0;
//inicializa constante de velocidad en x
salto = -15;
//inicializa constante de velocidad de salto
limite = 10;
//inicializa constante de velocidad limite de salto
}
onClipEvent (enterFrame) {
//esto se hace cada vez que avanza un frame
if (_root.suelo.hitTest(_x, _y+_height/2, true)) {
//si la pelota toca el suelo
while (_root.suelo.hitTest(_x, -2+_y+_height/2, true)) {
_y--;
//sube la pelota hasta que solo 1 pixel este tocando el suelo
//como comentario adicional todas las variables que empiezan con "_" se refieren a propiedades del objeto (en este caso la posicion en 'y' de la pelota)
}
yvel = 0;
//inicializa esta constante para que la pelota deje de caer despues de un salto
if (Key.isDown(Key.UP)) {
//si se presiona arriba
yvel = salto;
//se le asigna el valor de salto a la velocidad en y
_y += yvel;
//inicia el salto subiendo la pelota
}
} else if (_root.suelo.hitTest(_x, _y-_height/2, true)) {
//si toca una plataforma con la parte superior
yvel = yvel*-1;
//hace negativo el salto
_y += yvel;
//baja la pelota
while (_root.suelo.hitTest(_x, _y-_height/2, true)) {
_y++;
//si la pelota sigue pegando con la plataforma la baja hasta que ya no lo haga
}
} else {
//si esta en el aire
_y += yvel;
//cambia la posicion de la pelota dependiendo de yvel
if (yvel<=limite) { //si yvel no se ha pasado del limite
yvel++; //aumenta la variable creando un efecto de gravedad
}
}
_x += (Key.isDown(Key.RIGHT)-Key.isDown(Key.LEFT))*xvel; //se mueve la posicion en 'x' de la pelota dependiendo de el boton presionado
//si derecha esta presionado regresa 1*xvel y si izquierda esta presionado regresa -1*xvel
while (_root.suelo.hitTest(_x+_width/2, _y, true)) { //si pega con una pared por la derecha
_x--; //mueve la pelota hasta que no lo haga
} while (_root.suelo.hitTest(_x-_width/2, _y, true)) { //si pega con una pared por la izquierda
_x++; //mueve la pelota hasta que no lo haga
}
}
Ahora seleccionen las plataformas y en el nombre de instancia ("Instance Name") pongan: suelo
Les va a quedar algo asi:
Ahora que ya estan todos los codigos, tienen que cambiar los Frames por Segundo (fps) que están en "12". No seleccionen nada (haciendo clic en un espacio vacio) abran el menu de abajo y cambien donde dice "Frame rate: 12" y pongan "20". Les quedará algo asi:
Y... ¡Vóila! ¡Su juego de plataformas ya está hecho! Ahora hagan clic en "Control" y "Test Movie". Se mueven con las flechas y saltas con la flecha de arriba.
Espero que les sirva para que den "sus primeros pasos" en flash
Extra para crear juegos tipo Plataforma "mejorado"
Autor: Flinker
Bue ak les dejo el Tutorial.. cualquier cosa pregunten...
1º Abrimos un nuevo documento de flash y vamos a: Archivo--> Importar ---> a escenario y elegimos el sprite base de nuestro personaje (en este caso kakashi quieto).
2º Una vez q tenemos el personaje en la pantalla lo seleccionamos y con F8 lo convertimos en un MovieClip
3º Hacemos doble Click sobre el MC (entramos en el) y vamos a devuelta a Archivo--> Importar ---> a escenario ... que vamos a elegir ahora?... las distintas acciones que queremos que kakashi realice... Entonses en el primer Frame importamos una imagen de kakashi caminando, luego creamos un fotograma clave VACIO, y volvemos a Importar otra accion de kakashi, ej: kakashi pegando... asi sucesivamente con todas las acciones q tengamos...
4º A los frames que tienen las acciones de kakashi (caminar, correr, pegar) le vamos a poner un instance name, ej: imagen de kakashi corriendo le ponemos de instance name "correr" y tambien vamos a seleccionar cada una de las imagenes y las vamos a ir convirtiendo a cada una en un Movie Clip.
5º Dentro de nuestro MovieClip original (kakashi quieto) y donde estan los sprites de las diferentes acciones de kakashi, vamos a crear una nueva capa y por cada accion de kakashi vamos a crear un fotograma clave vacio y le asignamos la accion Stop()
6º Una vez que ya convertimos a las imagenes de las acciones de kakashi en MC y creamos la capa con los Stop(), vamos a entrar en cada una y vamos a Importar el resto del movimiento... como??.... Es fundamental GUARDAR LOS SPRITES ENUMERADOS Ej: pegando-1, pegando-2, pegando-3 , etc... Entonses en el 2º frame del MC (el 1º posee la accion base) vamos a crear un fotograma clave vacio y vamos a ir a importar y elegimos "pegando-2" entonses cuando aceptamos nos va a preguntar si queremos toda la secuencia... y le ponemos que si... y ahi ya nos va a importar todo el movimiento completo.
7º Ahora ya tenemos todos los movimientos listos... pero queda muy pobre la animacion sin sonido =P.... como le agregamos sonido?... Vamos a Archivo--->Importar---> A Biblioteca e importamos el sonidito que queremos... Entonses entramos al MovieClip con los sprites que queremos que tengan sonido: Ej: sonido de kakashi cuando pega. y seleccionando el 1º frame vamos abajo a la derecha y le agregamos el sonido
8º Bueno ahora falta lo mas importante que seria el codigo... el codigo lo vamos a agregar en el primero de todos los MC q creamos, osea en kakashi quieto..la barra de acciones esta abajo de la pantalla.
El codigo aca lo dejo:
onClipEvent(load){
var pelear=false;
}
//Caminar
onClipEvent(enterFrame){
if(pelear==false){
if(Key.isDown(Key.RIGHT)){
_x+=5;
_xscale=100;
gotoAndStop("caminar");
}
}
}
onClipEvent(enterFrame){
if(pelear==false){
if(Key.isDown(Key.LEFT)){
_x-=5;
_xscale=-100;
gotoAndStop("caminar");
}
}
}
//Pelear
onClipEvent(enterFrame){
if(Key.isDown(Key.CONTROL)){
gotoAndStop("pegar");
pelear=true;
}
else pelear=false;
}
El codigo a gran escala es bastante facil... cada vez q entramos en el Frame, Si la tecla "xxx" esta presionada, que valla y reprodusca la accion que queremos (lo que va entre ".." es el instance name que colocamos" .. y dps la parte de la cordenada es para que se mueva para la derecha _x+=5 (+ indica que camina para alla --> y el 5 es la velocidad a la que va a caminar)
9º (No me odien Frank y mrwasap)
Faltaba el codigo que hace que se deje de reproducir la animacion cuando toco la tecla... El codigo va a ir en el MC de cada una de las acciones q tengo... osea uno con kakashi camiando otro con kakashi pegando (con el kakashi quieto no se necesita codigo)
Ak dejo el codigo y la imagen:
http://img219.imageshack.us/img219/4791/paso6wq3.jpg
Este codigo para cuando camina
Código:
onClipEvent(enterFrame){
if(Key.isDown(Key.RIGHT))
this.play()
else if(Key.isDown(Key.LEFT))
this.play()
else this._parent.gotoAndStop("parado");
}
Este para cuando pega, o otra cosa..
Código:
onClipEvent(enterFrame){
if(Key.isDown(Key.CONTROL))
this.play()
else this._parent.gotoAndStop("parado");
}
Notese que es lo mismo solo que cuando camino tengo q agregar las 2 flechitas...
el else this._parent.... es lo que hace q vuelva a la accion de parado y no se siga repitiendo la misma accion.
El resultado --> http://server6.theimagehosting.com/i...akashi.088.swf (flechitas y Control)
Bue, en si le podria poner una cosita mas que seria que la pantalla se valla "moviendo" si nuestro personaje camina... pero primero hay que saber hacer esto...
Cualquier duda, si fui muy rapido, pregunten que no tengo ningun problema.
Crear juego Sniper
Autor: noob saibot
*Primero crean un nuevo documento flash.
*En propiedades coloca 30 fps.
*Crea un cubo de un tamaño del doble del escenario.
*Conviertelo en un clip de pelicula y le colocas un nombre de intancia.
*Hasle doble click para editarlo. (y tambien un click a mi zippy xD)
*Dentro de ese clip de pelicula crea un circulo de 150x150
*Despues en Y y X coloca -75,-75 y te quedara el circulo justo en el centro
*Borrale el fondo al circulo y te quedara un agujero.
*Colocale lo que quieras para que el apuntador se vea mejor, ejemplo una cruz.
*Ya esta listo la mira del sniper, asegura que tenga un nombre de intancia, ejemplo: Sniper
*Crea otra capa y asegura que la mira quede en la segunda capa que creaste (todavia no colques la mira)
*En la capa con la cual empezaste crea una ciudad.
*Conviertelo en clip de pelicula (te recomiendo que el punto de registro sea el centro).
*Dibuja unos hombres de palo y que la cabeza sea aparte de el cuerpo.
*Convierte la cabeza en un clip de pelicula
*Convierte el cuerpo en un clip de pelicula
*A ambos colocales un nombre de intancia (ejemplo: cabeza, cuerpo, etc)
*Une los 2 en un mismo clip de pelicula.
*Coloca 3 de esos hombres de palo en la ciudad.
*Colocale de nombre de intancia p1, el segundo p2 y el tercero p3.
*Clickea en el primer frame y coloca el siguiente action script:
Mouse.hide();
startDrag("el nombre que le diste a la mira sniper",true);
num_people=3;
*Despues esto:
onMouseDown=function(){
for(i=1;i<=num_people;i++){
if(_root["p"+i].head.hitTest(_root."el nombre que le diste a la mira sniper"._x,_root.scope._y,true)){
_root["p"+i]._visible=false;
}
}
}
*Esta listo su juego sniper.
Links:
Para los que no sepan hacer animaciones visiten esto
Tambien visita el tema:
Pedidos de sprites
Todavia quedan mas tutoriales, despues sigo editando y colocando.
Última edición: