Foros del Web » Creando para Internet » Flash y Actionscript »

Solo Maestros.. por favor.. AS..Avanzado

Estas en el tema de Solo Maestros.. por favor.. AS..Avanzado en el foro de Flash y Actionscript en Foros del Web. Urgente necesito que me ayuden con lo siguiente... function Point(x, y) { this.x = x; this.y = y; } function Node(lat, long, label, pos, url, ...
  #1 (permalink)  
Antiguo 23/01/2004, 08:49
 
Fecha de Ingreso: abril-2003
Ubicación: Chile
Mensajes: 59
Antigüedad: 14 años, 8 meses
Puntos: 0
Solo Maestros.. por favor.. AS..Avanzado

Urgente necesito que me ayuden con lo siguiente...

function Point(x, y) {
this.x = x;
this.y = y;
}
function Node(lat, long, label, pos, url, status) {
var latRange = (botLat-topLat);
var longRange = (botLong-topLong);
var latBase = (lat-topLat);
var longBase = (long-topLong);
var latP = (latBase/latRange);
var longP = (longBase/longRange);
this.x = Stage.width*longP;
this.y = Stage.height*latP;
this.label = label;
this.pos = pos;
this.url = url;
this.status = status;
nodeName = label;
_root.createEmptyMovieClip(nodeName, nodeDepth++);
this.clip = _root[nodeName];
this.clip.parent = this;
Mouse.addListener(this.clip);
this.clip.onRollOver = over;
this.clip.onRollOut = out;
this.clip.onPress = function() {
this.startDrag(this.clip);
texto = "";
texto2 = "";
texto3 = "";
texto = "Actualizando posición"
texto2 = this;
};
this.clip.onRelease = function() {
this.stopDrag();
texto = "";
texto2 = "";
texto = "Ultima Actualización. . .";
texto3 = label + " - x , y = " + _xmouse + " , " + _ymouse;
};
}

function over() {
this.parent.draw(1);
}
function out() {
this.parent.draw(0);
}
function goToURL() {
//getURL(this.parent.url, "_blank");
}
function Link(from, to, value, url, bw) {
var col;
var hsize;
var mapWidth;
var leftIn;
var rightIn;
var leftOut;
var rightOut;
col = fgColor;
this.from = nodes[from];
this.to = nodes[to];
this.value = parseFloat(value);
//this.url = url;
this.bw = parseInt(bw);
var i = 0;
while (i<aEntries.length) {
if ((this.value>aEntries[i].min) && (this.value<=aEntries[i].max)) {
this.color = aEntries[i].color;
break;
}
i++;
}
linkName = linkName+"a";
_root.createEmptyMovieClip(linkName, linkDepth++);
this.clip = _root[linkName];
this.clip.parent = this;
Mouse.addListener(this.clip);
// linea
with (this) {
if (from.x>to.x) {
hsize = from.x-to.x;
} else {
hsize = to.x-from.x;
}
mapWidth = Stage.width;
clip.clear();
// Crea linea entre dos puntos
clip.moveTo(from.x, from.y);
clip.lineStyle(1, col);
clip.lineTo(to.x, to.y);
// Termina creacion de linea
this.clip.onRelease = function(){
texto3 = this;
}
}
//this.clip.onRollOver = over;
//this.clip.onRollOut = out;
//this.clip.onPress = goToURL;
}


lo que hace este codigo, es crear circulos y lineas que la unen segun su circulo madre... lo que necesito es que cuando mueva los circulos las lineas lo sigan...no importanto la cantidad de lineas que llegue a un circulo...

por favor es URGENTE...

Solo Maestros...

De antemano muchas gracias.
__________________
Rodrigo A. Morales G.
Desarrollador Web
  #2 (permalink)  
Antiguo 23/01/2004, 11:36
Avatar de ¬...  
Fecha de Ingreso: noviembre-2003
Ubicación: Guatemala
Mensajes: 742
Antigüedad: 14 años
Puntos: 4
para probar como funciona: crea 1 movieClip en forma de circulo y copialo, los nombres de instancia que use circuloa y circulob
al frame donde estan estos:
Código:
createEmptyMovieClip("linea",100);
linea.lineStyle(0,0x000000,100);
linea.lineTo(100,100);
this.onEnterFrame=function(){
cax=circuloa._x;
cay=circuloa._y;
cbx=circulob._x;
cby=circulob._y;
linea._x=cax;
linea._y=cay;
linea._xscale=cbx-cax;
linea._yscale=cby-cay;
}
tonces la linea los une no importa a donde los movas
__________________
'_'

...
  #3 (permalink)  
Antiguo 23/01/2004, 12:08
 
Fecha de Ingreso: abril-2003
Ubicación: Chile
Mensajes: 59
Antigüedad: 14 años, 8 meses
Puntos: 0
Se me olvidooo...

muy buena tu respuesta...

pero...


todos los valores llegan por parametros desde una pagina perl..

lo que necesito es que se mueva.

Tambien es bueno agregar que existen X lineas... entonces... como tomo el valor de la linea y el valor de los circulos...?¨????

lo que pasa es ke tambien crea los circulos por parametros...

ojala entiendan y me expliquen... lo necesito este fin de semana...

gracias...muchas gracias.


Rodrigo

(si alguien kiere le envio el codigo y unos parametros de ejemplo, no se como atacharlo... )
__________________
Rodrigo A. Morales G.
Desarrollador Web
  #4 (permalink)  
Antiguo 23/01/2004, 17:16
Avatar de ¬...  
Fecha de Ingreso: noviembre-2003
Ubicación: Guatemala
Mensajes: 742
Antigüedad: 14 años
Puntos: 4
atacha las bolas dinamicamente segun la cantidad que le indiques cuando llamas la funcion atachar_circulos(cantidad) peeero, no le hice asi las lineas pues lleva mas tiempo hacerle que dinamicamente lea los puntos para cada uno pero eso lo podes hacer revisandole bien el de como atache los circulos

para ver como funciona, pegale esto al frame:
Código:
atachar_circulos=function(cuantos){
	limite_real=cuantos+1;
	createEmptyMovieClip("cholder",100);
	for(i=1;i<limite_real;i++){
		cholder.attachMovie( "circulolibreria", "circulo"+i,100+i);
		if(i==limite_real-1){
			trace(i+" circulos creados");
		}
	}
	
}
crear_lineas=function(numerol){
	rnlimite=numerol+1;
	for(ln=0;ln<rnlimite;ln++){
createEmptyMovieClip("linea"+ln,200+ln);
	}
linea1.lineStyle(0,0x000000,100);
linea1.lineTo(100,100);
linea2.lineStyle(0,0x000000,100);
linea2.lineTo(100,100);
linea3.lineStyle(0,0x000000,100);
linea3.lineTo(100,100);
linea4.lineStyle(0,0x000000,100);
linea4.lineTo(100,100);
linea5.lineStyle(0,0x000000,100);
linea5.lineTo(100,100);
linea6.lineStyle(0,0x000000,100);
linea6.lineTo(100,100);
}
atachar_circulos(7);
crear_lineas(6);
this.onEnterFrame=function(){
	c1x=cholder.circulo1._x;
	c1y=cholder.circulo1._y;
	c2x=cholder.circulo2._x;
	c2y=cholder.circulo2._y;
	c3x=cholder.circulo3._x;
	c3y=cholder.circulo3._y;
	c4x=cholder.circulo4._x;
	c4y=cholder.circulo4._y;
	c5x=cholder.circulo5._x;
	c5y=cholder.circulo5._y;
	c6x=cholder.circulo6._x;
	c6y=cholder.circulo6._y;
	c7x=cholder.circulo7._x;
	c7y=cholder.circulo7._y;
	linea1._x=c1x;
	linea1._y=c1y;
	linea1._xscale=c2x-c1x;
	linea1._yscale=c2y-c1y;
	linea2._x=c2x;
	linea2._y=c2y;
	linea2._xscale=c3x-c2x;
	linea2._yscale=c3y-c2y;
	linea3._x=c3x;
	linea3._y=c3y;
	linea3._xscale=c4x-c3x;
	linea3._yscale=c4y-c3y;
	linea4._x=c4x;
	linea4._y=c4y;
	linea4._xscale=c5x-c4x;
	linea4._yscale=c5y-c4y;
	linea5._x=c5x;
	linea5._y=c5y;
	linea5._xscale=c6x-c5x;
	linea5._yscale=c6y-c5y;
	linea6._x=c6x;
	linea6._y=c6y;
	linea6._xscale=c7x-c6x;
	linea6._yscale=c7y-c6y;
}
crea una movieClip en forma de circulo y en las acciones del frame1 de esta movie:
Código:
dev=10;
set_position=function(){
	enx=int(Math.random()*600);
	eny=int(Math.random()*enx);
	x=enx;
	y=eny;
}
this.onEnterFrame=function(){
	xx=x-_x;
	yy=y-_y;
	_x+=xx/dev;
	_y+=yy/dev;
}
set_position();
setInterval(set_position,2000);
cada 2 segundos la posicion de los circulos va a cambiar para que podas ver como la conexion de las lineas es constante(onEnterFrame) ahora desde la libreria, dale click derecho a la movieClip que tiene el circulo y dale click en 'linkage...' para linkearlo al actionscript, y asignale el nombre: circulolibreria, check a 'export for actionscript' y a 'export in first frame'
probalo y ve si te sirve
__________________
'_'

...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:32.