Volledige versie bekijken : drawing API.. lijn komt onder alle layers te liggen
Stuf
%Europe/Berlin %693 %2005, 17:38
hey... ik zit met een klein probleempje..
ik teken een lijn van 1 mc naar een andere.. met actionscript.. maar nu ligt deze lijn onder alle andere layers.. terwijl de mc's waar de lijn tussen hoort boven alle layers liggen.
weet iemand wat ik fout doe?
Dauntless
%Europe/Berlin %695 %2005, 17:41
Je kan hem tekenen in een nieuwe mc. Je kan dan adhv globalToLocal / localToGlobal de juiste posities vinden om te tekenen...
Stuf
%Europe/Berlin %717 %2005, 18:13
dank je.. dat werkt..
stom dat ik daar zelf niet aan gedacht heb.. :p
_root.API.onEnterFrame = function(){
clear();
_root.API.lineStyle(1, 0xA39B98);
_root.API.moveTo(_root.API.circ._x,_root.API.circ. _y);
_root.API.curveTo(x1, y1, _root.API.point1._x, _root.API.point1._y);
}
alleen nu ik deze code erin zet .. loopt de hele flashmovie stukken trager...
weet je toevallig ook waar dat aan ligt...
..
en wat betekend "adhv globalToLocal / localToGlobal" :confused:
Dauntless
%Europe/Berlin %724 %2005, 18:22
"adhv globalToLocal / localToGlobal"
betekend:
Aan de hand van de methodes: globalToLocal() en localToGlobal() (Zie F1 ;) ).
Het kan zijn dat de curveTo methode nogal traag is en als je die dan in een onEnterFrame zet...?
Stuf
%Europe/Berlin %746 %2005, 18:54
ja.. denk het..
alleen lijkt het of ie in een oneindige loop belandt..
Stuf
%Europe/Berlin %752 %2005, 19:03
ik kan me iets herinneren van een delete onEnterframe.. werkt dat ook voor mijn stukje code?
Dauntless
%Europe/Berlin %765 %2005, 19:22
Dat gaat, maar als je hem na 1 frame of zo al gaat verwijderen heeft de onEnterFrame geen nut:
_root.API.onEnterFrame = function(){
clear();
_root.API.lineStyle(1, 0xA39B98);
_root.API.moveTo(_root.API.circ._x,_root.API.circ. _y);
_root.API.curveTo(x1, y1, _root.API.point1._x, _root.API.point1._y);
delete this.onEnterFrame; //hier bv
}
Stuf
%Europe/Berlin %610 %2005, 15:38
zou je er even naar willen kijken..?
FLA (http://members.home.nl/stefnitert/flashfocus/1.1.fla)
het is de bedoeling dat wanneer je op "oefenruimtes" klikt je hetzelfde krijgt als bij curve (http://members.home.nl/stefnitert/flashfocus/curve.html).
Bij curve ligt dezelfde code als ik nu in de fla gebruik..
ik maak wel gebruik van die easing extensie..
ease (http://laco.wz.cz/tween/)
wanneer ik die delete onEnterframe gebruik geeft flash aan dat ie een infinite loop tegenkomt.. dus dat werkte idd ook niet..
alvast bedankt..
Dauntless
%Europe/Berlin %616 %2005, 15:47
Als je nu gewoon de code van die onEnterFrame weg doet werkt het toch? Buiten dat je dan je _x een beetje mis hebt...
_root.totaal.mc2.onRelease = function (){
_root.totaalvlakken.tween(x, go_vlak2, time2, ease);
_root.totaalgeel.tween(x, go_geelvlak2, time2, ease);
//loadMovie("oefenruimtes.swf", "_root.totaalvlakken.oefen");
bal.tween(y, go_bal2, time1, ease);
_root.API.point1.tween(xy1, go_point1, time2, ease2);
_root.API.point2.tween(xy1, go_point2, time3, ease2);
_root.API.alphaTo(100, 0.3, ease, 0.3);
//this.onEnterFrame = function(){
clear();
_root.API.lineStyle(1, 0xA39B98);
_root.API.moveTo(_root.API.circ._x,_root.API.circ. _y);
_root.API.curveTo(x1, y1, _root.API.point1._x, _root.API.point1._y);
_root.API.moveTo(_root.API.circ._x,_root.API.circ. _y);
_root.API.curveTo(x1, y1, _root.API.point2._x, _root.API.point2._y);
//}
}
Stuf
%Europe/Berlin %622 %2005, 15:56
nou.. de x ligt dan wel behoorlijk ernaast.. kun je goed zien wanneer je nogmaals op "oefenruimtes" klikt..
Ik vind het wel acceptabel .. mocht er geen andere oplossing zijn, dan neem ik hier mee genoegen..:)
bedankt voor je moeite!!
Dauntless
%Europe/Berlin %626 %2005, 16:02
Als je nu die twee tweenes van point1 en 2 weghaalt werkt het wel. Je wil dus al tekenen voor de tween voltooid is. Ik ken die tween extention niet, maar is er misschien geen manier om te zien wanneer te tween voltooid is? Anders kan je ook setInterval() gebruiken op ongeveer een halve seconde of zo...
Stuf
%Europe/Berlin %636 %2005, 16:16
ja.. idd.. nu die tweens weg zijn werkt het wel.. als ik er helemaal niet uitkom is dat nog altijd een oplossing...
De setInterval ken ik niet echt... ik zal dat eens gaan uitzoeken..
Op de site van die extensie..(laco (http://laco.wz.cz/tween)) zag ik het volgende staan..
if(my_mc.isTweening()){
...
}
mss dat ik hier wat mee kan..
..nogmaals bedankt voor de moeite..
Dauntless
%Europe/Berlin %642 %2005, 16:24
_root.totaal.mc2.onRelease = function() {
_root.totaalvlakken.tween(x, go_vlak2, time2, ease);
_root.totaalgeel.tween(x, go_geelvlak2, time2, ease);
//loadMovie("oefenruimtes.swf", "_root.totaalvlakken.oefen");
bal.tween(y, go_bal2, time1, ease);
_root.API.point1.tween(xy1, go_point1, time2, ease2);
_root.API.point2.tween(xy1, go_point2, time3, ease2);
_root.API.alphaTo(100, 0.3, ease, 0.3);
this.onEnterFrame = function() {
if (!_root.API.point1.isTweening() && !_root.API.point2.isTweening()) {
trace("ja");
clear();
_root.API.lineStyle(1, 0xA39B98);
_root.API.moveTo(_root.API.circ._x, _root.API.circ._y);
_root.API.curveTo(x1, y1, _root.API.point1._x, _root.API.point1._y);
_root.API.moveTo(_root.API.circ._x, _root.API.circ._y);
_root.API.curveTo(x1, y1, _root.API.point2._x, _root.API.point2._y);
delete this.onEnterFrame;
}
};
};
het duurt wel ff eer de mc's gestopt zijn met tweenen dus je moet de snelheid wat omhoog gooien of zo...
Stuf
%Europe/Berlin %643 %2005, 16:26
wat ik gewoon niet snap is dat ie het hier.. (http://members.home.nl/stefnitert/flashfocus/curve.html) wel doet.. terwijl het dezelfde code heeft..
dat istweening() hielp niet..
ik ga me op de setInterval() gooien..
Dauntless
%Europe/Berlin %645 %2005, 16:29
dat istweening() hielp niet..
Bij mij werkt hij wel...
Stuf
%Europe/Berlin %647 %2005, 16:32
wow... ik had je post niet gezien..
k ga het ff uitchecken..
bedankt..!!
Stuf
%Europe/Berlin %684 %2005, 17:25
hey dauntless..
niet dat ik wil ziften.. maar de lijn verschijnt pas nadat het is opgehouden met tweenen..
_root.totaal.mc2.onRelease = function() {
_root.totaalvlakken.tween(x, go_vlak2, time2, ease);
_root.totaalgeel.tween(x, go_geelvlak2, time2, ease);
//loadMovie("oefenruimtes.swf", "_root.totaalvlakken.oefen");
bal.tween(y, go_bal2, time1, ease);
point1.tween(xy1, go_point1, time2, ease2);
point2.tween(xy1, go_point2, time3, ease2);
alphaTo(100, 0.3, ease, 0.3);
this.onEnterFrame = function() {
//if (!_root.API.point1.isTweening() && !_root.API.point2.isTweening()) {
//trace("ja");
clear();
lineStyle(1, 0xA39B98);
moveTo(circ._x, circ._y);
curveTo(x1, y1, point1._x, point1._y);
moveTo(circ._x, circ._y);
curveTo(x1, y1, point2._x, point2._y);
//delete this.onEnterFrame;
}
};
//};
Als ik het niet in een movieclip zet en mn oude code aanhoudt.. (dus zonder de _root.API & en de isTweening() methode) dan werkt het precies zoals ik het wil hebben... (want om 1 of andere reden wordt het nu niet traag meer met de onEnterFrame.. :confused: )
alleen ligt het weer onder mn andere content..
ik moet dus proberen een mogelijkheid te vinden om de lijnen boven mn andere content te krijgen..
Dauntless
%Europe/Berlin %685 %2005, 17:26
hey dauntless..
niet dat ik wil ziften.. maar de lijn verschijnt pas nadat het is opgehouden met tweenen..
Ja, ik dacht ook dat je dat wou :D Maar je wil dus dat de lijnen al gaan terwijl hij tweened?
Stuf
%Europe/Berlin %021 %2005, 01:31
jep..
zie dit voorbeeld..
klik! (http://members.home.nl/stefnitert/flashfocus/curve.html)
Dauntless
%Europe/Berlin %029 %2005, 01:43
_root.totaal.mc2.onRelease = function() {
_root.totaalvlakken.tween(x, go_vlak2, time2, ease);
_root.totaalgeel.tween(x, go_geelvlak2, time2, ease);
//loadMovie("oefenruimtes.swf", "_root.totaalvlakken.oefen");
_root.API.point1.tween(xy1, go_point1, time2, ease2);
_root.API.point2.tween(xy1, go_point2, time3, ease2);
bal.tween(y, go_bal2, time1, ease);
_root.API.alphaTo(100, 0.3, ease, 0.3);
this.onEnterFrame = function() {
_root.API.clear();
_root.API.lineStyle(1, 0xA39B98);
_root.API.moveTo(_root.API.circ._x, _root.API.circ._y);
_root.API.curveTo(x1, y1, _root.API.point1._x, _root.API.point1._y);
_root.API.moveTo(_root.API.circ._x, _root.API.circ._y);
_root.API.curveTo(x1, y1, _root.API.point2._x, _root.API.point2._y);
if (!_root.API.point1.isTweening() && !_root.API.point2.isTweening()) {
delete this.onEnterFrame;
}
};
};
Zo kan je het ook doen... Maar als je direct vanaf het bolletje dat tweened wilt tekenen zal je dmv globalToLocal() de positie van het bolletje moeten berekenen en dan naar dat punt een lijn curven.
-Veel succes!
Stuf
%Europe/Berlin %071 %2005, 02:42
dank je..
ik ga ermee aan de slag..
Stuf
%Europe/Berlin %193 %2005, 05:38
damn..
ik denk dat het maar eens tijd wordt om te gaan pitten.. :)
..is het me nog niet eens gelukt ook nog.. :mad:
het punt is dauntless.. eigenlijk werkt het al.. het enige punt is de depth..
kan het hier ook mee..?
my_mc.createEmptyMovieClip("instance name",depth);
sorry dat ik er zo lang over doorga.. maar het wil me nl echt niet lukken...
this.onEnterFrame = function() {
clear();
lineStyle(1, 0xA39B98);
moveTo(circ._x, circ._y);
curveTo(x1, y1, point1._x, point1._y);
moveTo(circ._x, circ._y);
curveTo(x1, y1, point2._x, point2._y);
}
};
Dit is wat ik nu heb.. tis eigenlijk gewoon weer terug bij af.. maar zoals ik al zei werken op deze manier de lijnen het beste.. alleen dus dat depth verhaal.. wat niet lukt..
theFlashWizard
%Europe/Berlin %515 %2005, 13:22
wat lukt er niet aan?
mshn ff rondkijke over depths:
http://www.kirupa.com/developer/actionscript/depths.htm
Stuf
%Europe/Berlin %713 %2005, 18:06
hey...
nou... de depths regelen tussen de mc's lukt me wel.. (althans.. gewoon met swapdepths).. maar hoe dat nu precies zit met die drawing API.. dat snap ik niet.. want ik zou niet weten hoe ik daar de diepte van kan regelen.
Ook zie ik dingen zoals createEmptyMovieClip.. maar mijn mc's bestaan allemaal al.. dus dat is volgens mij ook geen optie..
ik zal voor de zekerheid de fla nog eens geven.. misschien wil iemand er nog eens naar kijken.
FLA (http://members.home.nl/stefnitert/flashfocus/1.1.fla)
wanneer je op "oefenruimtes" klikt worden de mc's aan de uiteinden van de lijnen getweend. De begin en eind mc's zitten prima boven op de layers.. alleen dus de lijnen niet..
alvast bedankt..
theFlashWizard
%Europe/Berlin %759 %2005, 19:13
kijk je tekent iets met drawing api in een mc.. en die mc swap je dan qua depth.. ;) that's all..
Dauntless
%Europe/Berlin %794 %2005, 20:03
kijk je tekent iets met drawing api in een mc.. en die mc swap je dan qua depth.. ;) that's all..
Dan zit je juist met het probleem: er wordt getekend in dezelfde mc als waar je mee wilt swappen ;). Ik heb zelf nog eens geprobeerd om in een andere mc te tekenen maar 'k kwam er niet juist uit ('k heb echt nix ervarin met localToGlobal en globalToLocal).
Stuf
%Europe/Berlin %527 %2005, 13:40
idd.. als het in een mc zit ligt het perfect boven alle layers.. maar krijg je voor elke beweging een andere lijn..
..en als de hele drawing API op de root staat.. werkt het prima.. alleen onder alle content.
k begin het behoorlijk frustrerend te vinden..
theFlashWizard
%Europe/Berlin %536 %2005, 13:53
als je de mc's waarin je je drawing api doet neerzet op de bovenste layer.. handmatig.. da zou er toch geen probleem moete zijn..
en je fla nakijken lukt niet want ik heb lmc_tween.as niet.. :$
Dauntless
%Europe/Berlin %540 %2005, 13:58
als je de mc's waarin je je drawing api doet neerzet op de bovenste layer.. handmatig.. da zou er toch geen probleem moete zijn..
en je fla nakijken lukt niet want ik heb lmc_tween.as niet.. :$
Maar de drawing api staat in dezelfde mc als de items waar hij moet boven staan!
Stuf
%Europe/Berlin %563 %2005, 14:31
hier is die extensie... klik (http://members.home.nl/stefnitert/flashfocus/MovieclipTween120.mxp)
Ik heb even 2 versies aangemaakt..
versie op de root (http://members.home.nl/stefnitert/flashfocus/1.1.fla)
versie in een MC (http://members.home.nl/stefnitert/flashfocus/1.2.fla)
dan kun je het verschil zien..
..nogmaals bedankt heren.. ik waardeer dit enorm..
theFlashWizard
%Europe/Berlin %611 %2005, 15:39
sorry ik krijg em niet goed gedownload en als ik em wel gedownload heb zegt ie dat ie invalid is..
Stuf
%Europe/Berlin %694 %2005, 17:40
de .fla of de extensie?
hier kun je de extensie vandaan halen..http://laco.wz.cz/tween
theFlashWizard
%Europe/Berlin %708 %2005, 17:59
extensie.. maar Khad em al van die site ook probere te downloade..
mshn dat iemand anders je kan helpe.. :$
Dauntless
%Europe/Berlin %722 %2005, 18:20
extensie.. maar Khad em al van die site ook probere te downloade..
mshn dat iemand anders je kan helpe.. :$
Ik voorlopig niet.... :$ Maar 'k ga morgen nog eens met frisse moed proberen :D Zó moeilijk kan het toch niet zijn :s
Stuf
%Europe/Berlin %152 %2005, 04:40
zou errug cool zijn.. :)
hier heb ik nog een andere versie van die extensie..
check.. (http://members.home.nl/stefnitert/flashfocus/MovieClipTween119a.mxp)
Dauntless
%Europe/Berlin %427 %2005, 11:15
Ok, nog twee pogingen:
Stuf
%Europe/Berlin %644 %2005, 16:28
Meesterlijk!!
Het werkt goed dauntless!!.. Erg bedankt!
alleen zijn er een paar dingen die ik niet begrijp..
bijv. bij home en contact moeten helemaal geen lijnen komen... hoe haal ik ze dan weg?
..als ik de holder transparant maak en wanneer je op home klikt "point1" en "point2" een andere plek geven...
dan gaat het niet goed als je nogmaals op "oefenruimtes" klikt.
snap je? :)
..echt nogmaals.. super bedankt..
ik heb het gevoel dat we er bijna zijn..
Dauntless
%Europe/Berlin %670 %2005, 17:04
Euhm, gewoon de holder clearen() ?
En anders: euhm, nee, dan snap ik het niet helemaal :D
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.