login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Waarom werkt deze functie niet? (Opgelost)

Offline Keith - 20/01/2009 21:41
Avatar van KeithGrafische gevorderde
  1. function ask(path){
  2. dontmove_ = true;
  3. _root.overlay_._alpha = 55;
  4.  
  5. var quest_:MovieClip = this.attachMovie("quest_", "quest_", this.getNextHighestDepth())
  6. quest_._x = (Stage.width/2);
  7. quest_._y = (Stage.height/2);
  8. quest_.quest_text.text = path;
  9.  
  10. this.quest_.yes_.onRelease = function(){
  11. removeMovieClip("quest_");
  12. dontmove_ = false;
  13. _root.overlay_._alpha = 0;
  14. trace("yes");
  15. return true;
  16. }
  17.  
  18. this.quest_.no_.onRelease = function(){
  19. removeMovieClip("quest_");
  20. dontmove_ = false;
  21. _root.overlay_._alpha = 0;
  22. trace("no");
  23. return false;
  24. }
  25. }


ik roep hem aan met de volgende code:

  1. if(ask(path)){
  2. trace("true");
  3. }
  4. else{
  5. trace("false");
  6. }



ik heb het probleem dat hij dus altijd meteen "door springt" naar de else en dus een false traced..
ik hoop dat iemand me kan helpen!

6 antwoorden

Gesponsorde links
Offline vinTage - 20/01/2009 21:47
Avatar van vinTage Nieuw lid Die returns komen pas na de onRelease en niet in de functie zelf..
Offline Keith - 20/01/2009 21:52
Avatar van Keith Grafische gevorderde sorry, zou je dat kunnen uit leggen?

het idee is dat wanneer ik die functie aan roep, er een movieclip wordt geladen met daar in een tekst en dan 2 knoppen Yes en No.
op het moment dat er op 1 van die knoppen wordt gedrukt, dan moet hij iets return'en..

dat moet ik toch op deze manier bouwen?
Offline vinTage - 20/01/2009 22:03
Avatar van vinTage Nieuw lid Waar roep je die if(ask) aan dan ?
Verder returned je functie helemaal niets, het zijn de buttons die je "genereert" met je functie die na een onRelease iets returnen.
Offline Keith - 20/01/2009 22:07
Avatar van Keith Grafische gevorderde
  1. function askLight(url_:String, room_num:Number){
  2. switch(room_num){
  3. case 4:
  4. path="Willt U de lamp in de hal aan?";
  5.  
  6. if(ask(path)){
  7. trace("true");
  8. //showVid(url_);
  9. }
  10. else{
  11. trace("false");
  12. }
  13. break;
  14. case 3:
  15. path="Willt U de lamp in de woonkamer aan?";
  16. if(ask(path) == true){
  17. //hier komt ook de if(ask(path)) als het bij die andere werkt
  18. }
  19. break;
  20. }
  21. }


hier wordt deze aan geroepen.
maar mijn functie moet ook helemaal opzich niets returnen.. toch? 
alleen als er op een knop gedrukt wordt, daarna moet hij iets returnen..

heb het ook al geprobeerd met een onRelease en dan daarin een variable, vervolgens in een if else kijken of die al true of false is en dan true of false return'en maar dan krijg je zoiezo altijd een flase..
heb het ook geprobeerd met een while.. zolang er nog niks aan geklikt was moest hij enkel kijken of er al geklikt was.. maar dat levert een crashende pc op 

HELP! (A)
Offline Ontani - 21/01/2009 13:10
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
kan je niet zo doen:

  1. function ask(path){
  2. dontmove_ = true;
  3. _root.overlay_._alpha = 55;
  4. var blnReturn:Boolean = false;
  5.  
  6. var quest_:MovieClip = this.attachMovie("quest_", "quest_", this.getNextHighestDepth())
  7. quest_._x = (Stage.width/2);
  8. quest_._y = (Stage.height/2);
  9. quest_.quest_text.text = path;
  10.  
  11. this.quest_.yes_.onRelease = function(){
  12. removeMovieClip("quest_");
  13. dontmove_ = false;
  14. _root.overlay_._alpha = 0;
  15. trace("yes");
  16. blnReturn = true;
  17. }
  18.  
  19. this.quest_.no_.onRelease = function(){
  20. removeMovieClip("quest_");
  21. dontmove_ = false;
  22. _root.overlay_._alpha = 0;
  23. trace("no");
  24. blnReturn = false;
  25. }
  26.  
  27. return blnReturn;
  28. }
Offline Keith - 21/01/2009 14:27 (laatste wijziging 21/01/2009 15:38)
Avatar van Keith Grafische gevorderde nou dan heb ik het probleem dat hij direct false return'ed aangezien die al op false staat.

ik zou eigenlijk een soort van code moeten hebben net als in php if(isset()) oid..


ik heb het opgelost door dit te doen:

  1. function ask(path:String, url_:String, room_num:Number){
  2. dontmove_ = true;
  3. _root.overlay_._alpha = 55;
  4.  
  5. var quest_:MovieClip = this.attachMovie("quest_", "quest_", this.getNextHighestDepth());
  6. quest_._x = (Stage.width/2);
  7. quest_._y = (Stage.height/2);
  8. quest_.quest_text.text = path;
  9.  
  10. this.quest_.yes_.onRelease = function(){
  11. removeMovieClip("quest_");
  12. dontmove_ = false;
  13. _root.overlay_._alpha = 0;
  14. showVid(url_, room_num);
  15. }
  16.  
  17. this.quest_.no_.onRelease = function(){
  18. removeMovieClip("quest_");
  19. dontmove_ = false;
  20. _root.overlay_._alpha = 0;
  21. }
  22.  
  23. }
  24.  
  25. function askLight(url_:String, room_num:Number){
  26. switch(room_num){
  27. case 4:
  28. path="Willt U de lamp in de hal aan?";
  29. ask(path, url_, room_num);
  30. break;
  31. case 3:
  32. path="Willt U de lamp in de woonkamer aan?";
  33. ask(path, url_, room_num);
  34. break;
  35. }
  36. }


en nu doet hij het best simpel =D
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.197s