PDA

Volledige versie bekijken : objecten die cursor ontwijken


dafman
%Europe/Berlin %481 %2005, 12:33
Hai, ik ben op zoek naar een script dat ik aan objecten (mc's?) kan zetten en er voor zorgt dat deze objecten de cursor ontwijken. Voorwaarde is wel dat het object maar een klein beetje kan uitwijken en uiteindelijk weer naar z'n originele positie terugkeerd. Het moet er een beetje uitzien alsof de objecten aan een elastiek vastzitten, en proberen zo ver mogelijk van de cursor af te raken, en als de cursor weer op een bepaalde afstand is terugkeren naar hun positie.
Iemand enig idee hoe?
bedankt!

Pimm
%Europe/Berlin %511 %2005, 13:16
Tsja, je zult eerst je elastiek-effect basis moeten hebben. Zo (http://www.google.com/search?q=flash+elastiek+effect)ek (http://www.altavista.com/web/results?q=flash+elastiek+effect) daar eerst maar eens op. Dan zien we wel verder :)

FantasTies
%Europe/Berlin %515 %2005, 13:21
http://www.actionscript.nl/data/tutmove.htm

Kijk hier eens :) volgens mij staan daar best wat ellastiek effecten.

Dauntless
%Europe/Berlin %523 %2005, 13:33
En op www.bit-101.com staat er ook nog 1...

dafman
%Europe/Berlin %531 %2005, 13:45
Bedankt! Daar kan ik inderdaad wel wat mee, ga effe knutselen.

dafman
%Europe/Berlin %608 %2005, 15:35
okay, ik heb nu wel een werkend script gevonden en dit naar mijn wensen aangepast (script komt van http://www.senocular.com/flash/source.php?id=0.71). alleen kom ik ergens nog niet uit, ik wil namelijk dat een aantal van de bolletjes niet bestaan, of onzichtbaar zijn, zodat ik op die plek buttons kan plaatsen die gewoon op hun plek blijven.
het stukje script dat de bollen genereert ziet er als volgt uit:

generateBallCluster = function(x, y){
this.createEmptyMovieClip("cluster",0);
this.cluster._x = x;
this.cluster._y = y;

var currball,x,y, depth = 0;
for (x=0; x<15; x++){
for (y=0; y<15; y++){
currball = this.cluster.attachMovie("ball", "b"+depth, depth++);
currball._x = x*40;
currball._y = y*40;
currball.origin = {
x: currball._x,
y: currball._y
}
currball.onEnterFrame = balloEF;
}
}
}
generateBallCluster(20,20);

met dit script worden er dus 15*15 bollen gemaakt, op een onderlinge afstand van 40 pixels. hoe kan ik het nu voor elkaar krijgen dat op een aantal door mij aangewezen posities geen bollen gemaakt worden? ik vermoed dmv een array, maar heb geen idee hoe ik dat hierin kan plaatsen.
Iemand enig idee? bedankt in ieder geval!

mateo)
%Europe/Berlin %630 %2005, 16:08
ja dat kan met een arraytje natuurlijk. daar zet je dan eerst het grid in uit en dan ga je daar doorheen lopen, maar dan moet je die functie herschrijven. je kan ook iets als dit doen (een balletje weggehaald):

generateBallCluster = function(x, y){
this.createEmptyMovieClip("cluster",0);
this.cluster._x = x;
this.cluster._y = y;

var currball,x,y, depth = 0;
for (x=0; x<15; x++){
for (y=0; y<15; y++){
if(!(y == 2 && x == 3)){
currball = this.cluster.attachMovie("ball", "b"+depth, depth++);
currball._x = x*40;
currball._y = y*40;
currball.origin = {
x: currball._x,
y: currball._y
}
currball.onEnterFrame = balloEF;
}
}
}
}
generateBallCluster(20,20);

dafman
%Europe/Berlin %634 %2005, 16:14
Yep! Hij doet het, had niet gedacht dat dat met één regeltje kon!

Hardstikke bedankt mateo)!