Comunidad de diseño web y desarrollo en internet online

problemas con mi clase Box

Citar            
MensajeEscrito el 26 Oct 2005 10:05 pm
hola estoy haciendo un diseño de una aplicacion y la empese a hacer con as 2.0 y bueno estoy creando una caja que tiene dos textos y un pequeño cuadradito que es en el evento on press de pudiera draguear toda la caja

este es mi codigo
//asi se dibujan la classe box

import mx.controls.TextInput;
class Box {
var caja:MovieClip;
var depth:Number;
function Box(cajar:MovieClip, prof:Number) {
caja = cajar;
depth = prof;
init();
}
//
function init() {
crearCaja();
crearTexto();
crearTextInput();
crearDragClip();

}
//
//
//
//ESTE ES LO QUE NO M;E FUNCIONA BIEN, hace el trace //cuando clico, pero caja:MovieClip no se arrastra
function Drag() {
caja.dragClip_mc.onPress = function() {
trace("no se arastra");
caja.dragClip_mc.startDrag();
};
}
//
//
//
//no se implementa
function noDrag() {
caja.onReleaseOutside = function(evt) {
caja.stopDrag();
};
}
//se implementa crea el cuadrado negro
function crearDragClip(alto, ancho, grosor, color, color2) {
caja.createEmptyMovieClip("dragClip_mc", 4);
caja.dragClip_mc.lineStyle(grosor, color);
caja.dragClip_mc.moveTo(0, 0);
caja.dragClip_mc.beginFill(color2);
caja.dragClip_mc.lineTo(0, alto);
caja.dragClip_mc.lineTo(ancho, alto);
caja.dragClip_mc.lineTo(ancho, 0);
caja.dragClip_mc.lineTo(ancho, 0);
caja.dragClip_mc.lineTo(0, 0);
caja.dragClip_mc.endFill();
}
//se implementa crea el texto de arriba
function crearTexto() {
caja.createTextField("loadStatus_txt", 3, 0, 0, 95, 20);
caja.loadStatus_txt.background = true;
caja.Loadstatus_txt.editable = true;
caja.loadStatus_txt.border = true;
caja.loadStatus_txt.setNewTextFormat(new TextFormat("arial", 10, 0x000000, false, null, null, "right"));
caja.loadStatus_txt.autosize = "left";
caja.loadStatus_txt._y = 3;
caja.loadStatus_txt._x = 3;
var hola = caja.loadStatus_txt.text;
caja.loadStatus_txt.text = "Nombre de Objeto";
trace("hola");
}
//se implementa crea la caja grande
function crearCaja(alto, ancho, grosor, color, color2) {
caja.createEmptyMovieClip("caja_mc", 2);
caja.caja_mc.lineStyle(grosor, color);
caja.caja_mc.moveTo(0, 0);
caja.beginFill(color2);
caja.caja_mc.lineTo(0, alto);
caja.caja_mc.lineTo(ancho, alto);
caja.caja_mc.lineTo(ancho, 0);
caja.caja_mc.lineTo(ancho, 0);
caja.caja_mc.lineTo(0, 0);
caja.endFill();
}
//se implementa, crea el _ti
function crearTextInput() {
caja.createClassObject(TextInput, "text_ti", 1);
// se dibuja dentro del holder la lista "lista_lb"
caja.text_ti.setSize(100, 22);
caja.text_ti.move(0, 30);
caja.text_ti.text = "ID";
}
//da la posicion a dragClip mc
function posCajaDrag(X:Number, Y:Number) {
caja.dragClip_mc._x = X;
caja.dragClip_mc._y = Y;
}
//
}


//ASI IMPLEMENTO EN EL :FLa


import Box;


var cuad:Box = new Box(contenedor_mc, 10);
//cuad.crearMC();
cuad.crearCaja(80, 100, 1, 0x000000, 0xeeeeee);
cuad.crearDragClip(10, 10, 1, 0xeeeeee, 0x000000)
cuad.posCajaDrag(20,70)
cuad.Drag()
/*
cuad.noDrag()
*/

Por mmm

26 de clabLevel



 

mozilla
Citar            
MensajeEscrito el 27 Oct 2005 04:27 am
extracto de codigo modificado:

Código :

function Drag() {
   caja.dragClip_mc.onPress = function() {
//      trace("no se arastra");
      startDrag(this);
   };
   caja.dragClip_mc.onRelease = function() {
//      trace("no se arastra");
      stopDrag();
   };
   
}


esta linea no hace falta en el .fla

Código :

import Box;



saludos :)

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 27 Oct 2005 08:54 pm
Hola maikel gracias por responderme, mira, me funciono bien lo que me dijiste que cambiara, pero con un solo inconveniente, lo que se dragea es solo el cuadradito caja.dragClip_mc, pero yo quiero que se drageee caja, es decir el movieclip completo que contiene a caja.dragClip y caja.caja_mc, caja.loadStatus_txt,y caja.textInput_ti

como ves ese this apunta a el caja.dragClip

function Drag() {
caja.dragClip_mc.onPress = function() {
// trace("no se arastra");
startDrag(this); <--------- apunta a caja.dragClip
};

/*
*y cuando intento esto no se mueve en absoluto
*
*function Drag() {
caja.dragClip_mc.onPress = function() {
// trace("no se arastra");
startDrag(this.caja); <--------- apunta a caja
};
*/
//
caja.dragClip_mc.onRelease = function() {
// trace("no se arastra");
stopDrag();
};

}

Seguire intentandolo... gracias de antemano[/img]

Por mmm

26 de clabLevel



 

mozilla
Citar            
MensajeEscrito el 28 Oct 2005 01:17 am
ufff. lo resolvi al fin, por si llega a interesar pongo el codigo

la funcion Drag() debia ser asi
function Drag() {
var owner = caja
caja.dragClip_mc.onPress = function() {
trace("no se arastra");
startDrag(owner);
trace(this._y);
trace(this);
};
}


cree owner porque me di cuenta que no podia acceder caja directamente desde la funcion onPress, curioso.. por lo tanto accedi finalmente a caja atraves de owner ;)

gracias por la ayuda

Por mmm

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Oct 2005 05:25 am
hola :( yo denuevo :? , bueno sigo dandole a mi aplicacion, y estoy intentando ahora crear un boton q pueda en el evento onPress crear nuevas instancias de la classe box, es decir, poder crear varias instancias caja en el escenario por medio de un boton

este es mi codigo que esta en el .fla


import Box;
//crear los movies clipes
for (i=0; i<n; i++) {
trace("n es:"+i); ///aqui me dice la profundidad del ///////////////////////////////////contenedor_mc que no se crea..
trace(contenedor); //
array.push(contenedor);
}
crea_mc.onPress = function() {
var cuad:Box = new Box(contenedor_mc, i++);
cuad.crearCaja(80, 100, 1, 0x000000, 0xeeeeee);
cuad.crearDragClip(10, 10, 1, 0xeeeeee, 0x000000);
cuad.posCajaDrag(20, 70);
cuad.Drag();
cuad.noDrag();
};

crea_mc es mi boton que deberia en el onPress crear una nueva instancia de box, no se si estara bien :roll: de hecho no esta bien ayudenme plis...
saludos[/b]

Por mmm

26 de clabLevel



 

firefox

 

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