Gast | Inloggen | Registreer
Een 'Gast' bezit beperkte rechten.
Word lid voor alle mogelijkheden.
LVL0 
 
 0%
Bewerk forum profiel | Bewerk site profiel
Bekijk je forum profiel | Gastenboek:
Log in om je privé berichten te bekijken
Inloggen/Registreer
Actionscript 2.0 OOP
Bekijk je berichten - Berichten sinds laatste bezoek
Ga naar Pagina 1, 2  Volgende
 
Plaats nieuw bericht   Plaats Reactie    Evilgamerz.com Forum Index // Internet & Netwerken
Vorige onderwerp :: Volgende onderwerp  
Auteur Bericht
ErnieCool
Evilgamer
Evilgamer

Berichten: 6637
Rating: 116
BerichtGeplaatst: Za Jan 17, 2009 7:14 pm    Onderwerp: Actionscript 2.0 OOP Reageer met quote
Iemand hier die verstand heeft van Object Oriented actionscript programming.

Voor mijn school project moet ik een deel programeren maar ik kom er niet echt uit en heb er echt al uren aan gewerkt, maar het wil niet lukken.

Dus mocht er iemand verstand van hebben, ben je bereid mij te helpen, ikben zelfs bereid er wat voor te betalen. Wat er moet gebeuren is opzich niet zo heel veel.

ErnieCool bezit de volgende gaming platformen:
Terug naar boven
WeSs0
Elite
Elite

Berichten: 1267
Rating: 12
BerichtGeplaatst: Za Jan 17, 2009 7:41 pm    Onderwerp: Reageer met quote
Zeg het maar

WeSs0 bezit de volgende gaming platformen:
Terug naar boven
ErnieCool
Evilgamer
Evilgamer

Berichten: 6637
Rating: 116
BerichtGeplaatst: Za Jan 17, 2009 7:48 pm    Onderwerp: Reageer met quote
ik moet voor het project een Object oriented color calculator maken, met 6 kleurmodellen en een color picker.

Mijn deel is de kleurmodellen R'G'B', YCbCr en Yxy en de color picker.
alles moet berekend worden vanuit het XYZ panel.
Een projectlid van mij heeft het RGB panel al werkend gekregen, inclusief Out of Gammut weergave.

probleem is, voor R'G'B' en YCbCr heb ik geen directe formule naar XYZ dus die moeten in de class eerst nog omgerekend worden ook.

Hieronder staat de code voor werkend RGB panel.
Ik heb al een werkende color picker, maar die moet dus object oriented gemaakt worden.
Denk je dat je iets voor me kan doen. En ik ben echt zo wanhopig dat ik er voor wil betalen als je me met alles kan helpen Razz... ik zit een beetje in tijdnood ook xD.

Code voor de RGB panel.
Code:
class RGBPanel extends MovieClip {

   private var slider1:MovieClip;
   private var slider2:MovieClip;
   private var slider3:MovieClip;
   private var tekst1:TextField;
   private var tekst2:TextField;
   private var tekst3:TextField;
   private var OutOfGamut:MovieClip;
   private var ClipboardCopier:MovieClip;
   
   private var tmp_X:Number = 0;
   private var tmp_Y:Number = 0;
   private var tmp_Z:Number = 0;
   private var tmp_R:Number = 0;
   private var tmp_G:Number = 0;
   private var tmp_B:Number = 0;
   
   private var R_min:Number = -1;
   private var R_max:Number = 256;
   private var G_min:Number = -1;
   private var G_max:Number = 256;
   private var B_min:Number = -1;
   private var B_max:Number = 256;
   
   private function onEnterFrame() {
      if (String(Selection.getFocus()) != "null") {
         
         if ( (String((Selection.getFocus())) == ("_level0.RGBPaneel.tekst1")) && (Number(tekst1.text)<= R_max) && (Number(tekst1.text)>=R_min) ) {
            slider1._y = (((-Number(tekst1.text)) /2.55)+50);
            setChanged();
         }
         if ( (String((Selection.getFocus())) == ("_level0.RGBPaneel.tekst2")) && (Number(tekst2.text)<= G_max) && (Number(tekst2.text)>=G_min) ) {
            slider2._y = (((-Number(tekst2.text)) /2.55)+50);
            setChanged();
         }
         if ( (String((Selection.getFocus())) == ("_level0.RGBPaneel.tekst3")) && (Number(tekst3.text)<= B_max) && (Number(tekst3.text)>=B_min) ) {
            slider3._y = (((-Number(tekst3.text)) /2.55)+50);
            setChanged();
         }
         
      }
      
   }
   
   public function copyToClipboard() {
      System.setClipboard("De gekozen RGB-kleurcode: R=" +tekst1.text +"  G=" +tekst2.text +"  B=" +tekst3.text );
   }
   
   public function RGBPanel() {
      OutOfGamut._visible = false
   }
   
   public function Deselect() {
      Selection.setFocus(null);
   }
   
   public function setChanged():Void {
      _level0.model.kleurmodel = "RGB";
      OutOfGamut._visible = false;
      
      _level0.model.RGB_S1 = slider1._y;
      _level0.model.RGB_S2 = slider2._y;
      _level0.model.RGB_S3 = slider3._y;
      
      tmp_R = ( ((-slider1._y)+50) / 100 );
      tmp_G = ( ((-slider2._y)+50) / 100 );
      tmp_B = ( ((-slider3._y)+50) / 100 );

      if ( tmp_R > 0.04045 ) { tmp_R = (Math.pow(( ( tmp_R + 0.055 ) / 1.055 ), 2.4)) * 100;}
      else { tmp_R = (tmp_R / 12.92) * 100;}
      if ( tmp_G > 0.04045 ) { tmp_G = (Math.pow(( ( tmp_G + 0.055 ) / 1.055 ), 2.4)) * 100;}
      else { tmp_G = (tmp_G / 12.92) * 100;}
      if ( tmp_B > 0.04045 ) { tmp_B = (Math.pow(( ( tmp_B + 0.055 ) / 1.055 ), 2.4)) * 100;}
      else { tmp_B = (tmp_B / 12.92) * 100;}

      tmp_X = (Math.round(tmp_R * 0.4124 + tmp_G * 0.3576 + tmp_B * 0.1805));
      tmp_Y = (Math.round(tmp_R * 0.2126 + tmp_G * 0.7152 + tmp_B * 0.0722));
      tmp_Z = (Math.round(tmp_R * 0.0193 + tmp_G * 0.1192 + tmp_B * 0.9505));
      
      _root.model.setXYZ_X( (-tmp_X /2) +50);
      _root.model.setXYZ_Y (-tmp_Y +50);
      _root.model.setXYZ_Z( (-tmp_Z /2) +50);
      
      tekst1.text = String(Math.round(((-slider1._y)+50)*2.55));
      tekst2.text = String(Math.round(((-slider2._y)+50)*2.55));
      tekst3.text = String(Math.round(((-slider3._y)+50)*2.55));
   }
   
   
   
   public function onValueChanged(eventObject:Object):Void {
      //Sliderwaarden omvormen naar XYZ en toepassen op een temporary_XYZ
      if (_level0.model.kleurmodel == "CP") {
         slider1._y = (_level0.model.RGB_S4)
         slider2._y = (_level0.model.RGB_S5)
         slider3._y = (_level0.model.RGB_S6)
         
         tekst1.text = String(Math.round(((-slider1._y)+50)*2.55));
         tekst2.text = String(Math.round(((-slider2._y)+50)*2.55));
         tekst3.text = String(Math.round(((-slider3._y)+50)*2.55));
      }
      else if (_level0.model.kleurmodel != "RGB") {
         if (String((Number(eventObject.XYZ_X))) != "NaN") { tmp_X = ((eventObject.XYZ_X*(-1)) +50) *2;}
         if (String((Number(eventObject.XYZ_Y))) != "NaN") { tmp_Y = ((eventObject.XYZ_Y*(-1)) +50); }
         if (String((Number(eventObject.XYZ_Z))) != "NaN") { tmp_Z = ((eventObject.XYZ_Z*(-1)) +50) *2;}
      
         tmp_R = ((tmp_X / 100) *  3.2406 + (tmp_Y / 100) * -1.5372 + (tmp_Z / 100) * -0.4986);
         tmp_G = ((tmp_X / 100) * -0.9689 + (tmp_Y / 100) *  1.8758 + (tmp_Z / 100) *  0.0415);
         tmp_B = ((tmp_X / 100) *  0.0557 + (tmp_Y / 100) * -0.2040 + (tmp_Z / 100) *  1.0570);
      
         if ( tmp_R >= 0.0031308 ) { tmp_R = ((1.055 * Math.pow( tmp_R , ( 1 / 2.4 ) ) - 0.055)) * 255;}
         else { tmp_R = (12.92 * tmp_R) * 255;}
         if ( tmp_G >= 0.0031308 ) { tmp_G = ((1.055 * Math.pow( tmp_G , ( 1 / 2.4 ) ) - 0.055)) * 255;}
         else { tmp_G = (12.92 * tmp_G) * 255;}
         if ( tmp_B >= 0.0031308 ) { tmp_B = ((1.055 * Math.pow( tmp_B , ( 1 / 2.4 ) ) - 0.055)) * 255;}
         else { tmp_B = (12.92 * tmp_B) * 255;}
      
         OutOfGamut._visible = false
         //Toepassen en OutOfGamut maken van [R]GB
         if ( ( tmp_R <= R_max) && ( tmp_R >= R_min) ){ slider1._y = -(((tmp_R)/ 2.55) -50 ); tekst1.text = String(Math.round(tmp_R));}
         else if (tmp_R <= R_max) { OutOfGamut._visible = true; slider1._y = 50; tekst1.text = String("OoG");}
         else if (tmp_R >= R_min) { OutOfGamut._visible = true; slider1._y = -50; tekst1.text = String("OoG");}
         //Toepassen en OutOfGamut maken van R[G]B
         if ( ( tmp_G <= G_max) && ( tmp_G >= G_min) ){ slider2._y = -(((tmp_G)/ 2.55) -50 ); tekst2.text = String(Math.round(tmp_G));}
         else if (tmp_G <= G_max) { OutOfGamut._visible = true; slider2._y = 50; tekst2.text = String("OoG");}
         else if (tmp_G >= G_min) { OutOfGamut._visible = true; slider2._y = -50; tekst2.text = String("OoG");}
         //Toepassen en OutOfGamut maken van RG[B]
         if ( ( tmp_B <= B_max) && ( tmp_B >= B_min) ){ slider3._y = -(((tmp_B)/ 2.55) -50 ); tekst3.text = String(Math.round(tmp_B));}
         else if (tmp_B <= B_max) { OutOfGamut._visible = true; slider3._y = 50; tekst3.text = String("OoG");}
         else if (tmp_B >= B_min) { OutOfGamut._visible = true; slider3._y = -50; tekst3.text = String("OoG");}
      }
      
   }
}
    


ErnieCool bezit de volgende gaming platformen:
Terug naar boven
WeSs0
Elite
Elite

Berichten: 1267
Rating: 12
BerichtGeplaatst: Za Jan 17, 2009 7:55 pm    Onderwerp: Reageer met quote
Als je die color picker is post, kijk ik of ik tijd heb om het oop te maken. Denk er wel aan dat ik zelf niet veel tijd heb, ik weet wel dat Jeroen aardig ervaring met flash heeft.

Overgens een link voor YcbCr, http://en.wikipedia.org/wiki/YCbCr.

Staat heel veel informatie over hoe en wat, zelfs berekeningen.

WeSs0 bezit de volgende gaming platformen:
Terug naar boven
ErnieCool
Evilgamer
Evilgamer

Berichten: 6637
Rating: 116
BerichtGeplaatst: Za Jan 17, 2009 7:59 pm    Onderwerp: Reageer met quote
http://erniecool.ostyle.org/dump/Flash/color_picker.fla

ErnieCool bezit de volgende gaming platformen:
Terug naar boven
Z@3 Redrum
Evilgamer
Evilgamer

Berichten: 27156
Rating: 0
BerichtGeplaatst: Za Jan 17, 2009 7:59 pm    Onderwerp: Reageer met quote
Ik heb niet veel verstand van actionscripting, standaard dingen als motion tweening etc, wat de meeste wel kunnen, dat kan ik wel, maar niet zulke geavanceerde dingen.

Z@3 Redrum bezit de volgende gaming platformen:
Terug naar boven
ErnieCool
Evilgamer
Evilgamer

Berichten: 6637
Rating: 116
BerichtGeplaatst: Za Jan 17, 2009 8:00 pm    Onderwerp: Reageer met quote
Mjah, ik vind het echt belachelijk dat ze dit van ons verwachten in het 1e jaar na paar maanden les.
Sommige projectgroepen komen er helemaal niet uit xD.

ErnieCool bezit de volgende gaming platformen:
Terug naar boven
Brandts
Elite
Elite

Berichten: 1399
Rating: 53
BerichtGeplaatst: Zo Jan 18, 2009 4:41 pm    Onderwerp: Reageer met quote
Ik heb hier helemaal geen verstand van maar bij ons op school kregen we ook projecten die eigenlijk veel te moeilijk waren. Zo konden ze zien welke de goede en de mindere leerlingen waren.

Brandts bezit de volgende gaming platformen:
Terug naar boven
Yorick
Godlike
Godlike

Berichten: 3501
Rating: 17
BerichtGeplaatst: Zo Jan 18, 2009 4:53 pm    Onderwerp: Reageer met quote
Brandts schreef:
Ik heb hier helemaal geen verstand van maar bij ons op school kregen we ook projecten die eigenlijk veel te moeilijk waren. Zo konden ze zien welke de goede en de mindere leerlingen waren.

wil toch totaal niets zeggen.. als je geld hebt ga je er gewoon mee naar een programmeur en als je geen geld hebt ben je mooi gebuist...

Yorick bezit de volgende gaming platformen:
Terug naar boven
Brandts
Elite
Elite

Berichten: 1399
Rating: 53
BerichtGeplaatst: Zo Jan 18, 2009 5:56 pm    Onderwerp: Reageer met quote
Nee das waar, al vind ik het zelf wat ver gaan om iemand te betalen voor jouw huiswerk. Als niemand het snapt is het toch geen schande dat je het zelf ook niet snapt.

Bij ons op school was het trouwens niet zo makkelijk om iemand te vinden die onze projecten kon oplossen Wink

Brandts bezit de volgende gaming platformen:
Terug naar boven

Plaats nieuw bericht   Plaats Reactie    Evilgamerz.com Forum Index // Internet & Netwerken Tijden zijn in GMT + 1 uur

Pagina 1 van 2
Ga naar Pagina 1, 2  Volgende