Comunidad de diseño web y desarrollo en internet online

Mover personaje por el escenario

Citar            
MensajeEscrito el 23 Feb 2011 07:54 pm
Hola amigos estoy pensando en realizar una especie de juego en flash el cual tiene un personaje que anda por el eje x es decir que se mueve para la izq y la der. Pero me ha surgido un problema, mi escenario mide 2500 x 600 px pero el documento flash mide 900x600px y el personaje desaparece cuando anda los 900px y yo quiero que el fondo se desplace con el personaje una idea que tengo es fijar el personaje en el centro y mover el fondo pero no me vale ¿sabeis como puedo hacerlo?

Por hachedocho

16 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 11 Jun 2011 11:35 pm
:D es simple, converti en un movieclip al escenario yu hace que se mueva para el lado contrario a la direccion en la que quieres mover la nave, eso da la ilucion que la nave se esta moviendo

Por emirc122

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Jun 2011 01:20 pm
para estos casos se utiliza la v-cam
crea un cuadrado de 500x500 pix y conviertelo en MC
luego dentro de el en el primer fotorama pon esto

Código ActionScript :

import flash.display.BitmapData;



addProperty("_x2",get_x2,set_x2);
addProperty("_y2",get_y2,set_y2);
addProperty("_xscale2",get_xscale2,set_xscale2);
addProperty("_yscale2",get_yscale2,set_yscale2);
addProperty("_rotation2",get_rotation2,set_rotation2);

////////////////////////////////////////////////////////////////////////////
// Get stage width and height //////////////////////////////////////////////

var oldScaleMode:String = stage.scaleMode;
stage.scaleMode = "exactFit";

var sW:Number = Stage.width;
var sH:Number = Stage.height;

stage.scaleMode = oldScaleMode;

////////////////////////////////////////////////////////////////////////////
// Get Vcam width and height ///////////////////////////////////////////////

var bounds_obj:Object = this.getBounds(this);

var camH:Number = Math.abs(bounds_obj.yMax-bounds_obj.yMin);
var camW:Number = Math.abs(bounds_obj.xMax-bounds_obj.xMin);

////////////////////////////////////////////////////////////////////////////
// Creat Point for dynamic registration point //////////////////////////////

var rp = {x:this._x, y:this._y};

onEnterFrame = function ():Void {
camControl();
};

////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////

function camControl():Void {

////////////////////////////////////////////////////////////////////////////
// Move the registration point to the vCams current position ///////////////

rp.x = _x;
rp.y = _y;

////////////////////////////////////////////////////////////////////////////
// Gets the current scale of the vCam //////////////////////////////////////

var h:Number = camH*(_yscale*.01);
var w:Number = camW*(_xscale*.01);

////////////////////////////////////////////////////////////////////////////
// Gets the stage to vCam scale ratio //////////////////////////////////////

var _scaleY:Number = sH/h;
var _scaleX:Number = sW/w;

////////////////////////////////////////////////////////////////////////////
// Positions the parent ////////////////////////////////////////////////////

_x2 = (w/2)*_scaleX;
_y2 = (h/2)*_scaleY;

_xscale2 = _scaleX*100;
_yscale2 = _scaleY*100;

_rotation2 = -_rotation;

////////////////////////////////////////////////////////////////////////////
// Apply vCam filters to bitmap ////////////////////////////////////////////

_parent.filters = this.filters;
_parent.transform.colorTransform = this.transform.colorTransform;

}

this.onUnload = reset;

function reset():Void {

////////////////////////////////////////////////////////////////////////////
// Resets parent properties ////////////////////////////////////////////////

_parent._xscale = 100;
_parent._yscale = 100;
_parent._x = 0;
_parent._y = 0;
_parent._rotation = 0;
_parent._visible = true;

}

function set_x2(value:Number):Void {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);
_parent._x += value-a.x;
}
function get_x2():Number {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);
return a.x;
}

function set_y2(value:Number):Void {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);
_parent._y += value-a.y;
}
function get_y2():Number {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);
return a.y;
}

function get_xscale2():Number {
return _parent._xscale;
}
function set_xscale2(value:Number):Void {
setProperty2("_xscale",value);
}

function get_yscale2():Number {
return _parent._yscale;
}

function set_yscale2(value:Number):Void {
setProperty2("_yscale",value);
}

function get_rotation2():Number {
return parent.rotation;
}
function set_rotation2(value:Number):Void {
setProperty2("_rotation",value);
}

function setProperty2(prop:String, n:Number):Void {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);

_parent[prop] = n;

var b = {x:rp.x, y:rp.y};
_parent.localToGlobal(b);

_parent._x -= b.x-a.x;
_parent._y -= b.y-a.y;
}







luego sal a la ecena principal y ponle como nombre de instancia vcam
luego le pones este codigo en la ecena principal al mismo movieclip

Código ActionScript :

onClipEvent (enterFrame) {
   this.swapDepths(10000);
   
   _y += (_root.jugador._y-_y)/4;
   _x += (_root.jugador._x-_x)/4;

}

Por raptor0555

53 de clabLevel



Genero:Masculino  

Desarrollador de juegos

firefox
Citar            
MensajeEscrito el 16 Jun 2011 01:22 pm
para estos casos se utiliza la v-cam
crea un cuadrado de 500x500 pix y conviertelo en MC
pero el interior de este cuadro no deve tener color sino solo lineas
luego dentro de el en el primer fotorama pon esto

Código ActionScript :

import flash.display.BitmapData;



addProperty("_x2",get_x2,set_x2);
addProperty("_y2",get_y2,set_y2);
addProperty("_xscale2",get_xscale2,set_xscale2);
addProperty("_yscale2",get_yscale2,set_yscale2);
addProperty("_rotation2",get_rotation2,set_rotation2);

////////////////////////////////////////////////////////////////////////////
// Get stage width and height //////////////////////////////////////////////

var oldScaleMode:String = stage.scaleMode;
stage.scaleMode = "exactFit";

var sW:Number = Stage.width;
var sH:Number = Stage.height;

stage.scaleMode = oldScaleMode;

////////////////////////////////////////////////////////////////////////////
// Get Vcam width and height ///////////////////////////////////////////////

var bounds_obj:Object = this.getBounds(this);

var camH:Number = Math.abs(bounds_obj.yMax-bounds_obj.yMin);
var camW:Number = Math.abs(bounds_obj.xMax-bounds_obj.xMin);

////////////////////////////////////////////////////////////////////////////
// Creat Point for dynamic registration point //////////////////////////////

var rp = {x:this._x, y:this._y};

onEnterFrame = function ():Void {
camControl();
};

////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////

function camControl():Void {

////////////////////////////////////////////////////////////////////////////
// Move the registration point to the vCams current position ///////////////

rp.x = _x;
rp.y = _y;

////////////////////////////////////////////////////////////////////////////
// Gets the current scale of the vCam //////////////////////////////////////

var h:Number = camH*(_yscale*.01);
var w:Number = camW*(_xscale*.01);

////////////////////////////////////////////////////////////////////////////
// Gets the stage to vCam scale ratio //////////////////////////////////////

var _scaleY:Number = sH/h;
var _scaleX:Number = sW/w;

////////////////////////////////////////////////////////////////////////////
// Positions the parent ////////////////////////////////////////////////////

_x2 = (w/2)*_scaleX;
_y2 = (h/2)*_scaleY;

_xscale2 = _scaleX*100;
_yscale2 = _scaleY*100;

_rotation2 = -_rotation;

////////////////////////////////////////////////////////////////////////////
// Apply vCam filters to bitmap ////////////////////////////////////////////

_parent.filters = this.filters;
_parent.transform.colorTransform = this.transform.colorTransform;

}

this.onUnload = reset;

function reset():Void {

////////////////////////////////////////////////////////////////////////////
// Resets parent properties ////////////////////////////////////////////////

_parent._xscale = 100;
_parent._yscale = 100;
_parent._x = 0;
_parent._y = 0;
_parent._rotation = 0;
_parent._visible = true;

}

function set_x2(value:Number):Void {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);
_parent._x += value-a.x;
}
function get_x2():Number {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);
return a.x;
}

function set_y2(value:Number):Void {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);
_parent._y += value-a.y;
}
function get_y2():Number {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);
return a.y;
}

function get_xscale2():Number {
return _parent._xscale;
}
function set_xscale2(value:Number):Void {
setProperty2("_xscale",value);
}

function get_yscale2():Number {
return _parent._yscale;
}

function set_yscale2(value:Number):Void {
setProperty2("_yscale",value);
}

function get_rotation2():Number {
return parent.rotation;
}
function set_rotation2(value:Number):Void {
setProperty2("_rotation",value);
}

function setProperty2(prop:String, n:Number):Void {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);

_parent[prop] = n;

var b = {x:rp.x, y:rp.y};
_parent.localToGlobal(b);

_parent._x -= b.x-a.x;
_parent._y -= b.y-a.y;
}







luego sal a la ecena principal y ponle como nombre de instancia vcam
luego le pones este codigo en la ecena principal al mismo movieclip

Código ActionScript :

onClipEvent (enterFrame) {
   this.swapDepths(10000);
   
   _y += (_root.jugador._y-_y)/4;
   _x += (_root.jugador._x-_x)/4;

}

Por raptor0555

53 de clabLevel



Genero:Masculino  

Desarrollador de juegos

firefox
Citar            
MensajeEscrito el 30 Jun 2011 08:22 am
quiero q anden q tengan su propia casa q tengan mucho dinero y trabajo

Por pekeneko

0 de clabLevel



 

hago natacion sincronizada

msie8
Citar            
MensajeEscrito el 01 Jul 2011 05:31 pm
ese cuadro que creaste como vcam no deve tener color solo contorno

Por raptor0555

53 de clabLevel



Genero:Masculino  

Desarrollador de juegos

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.