Laiverd
%Europe/Berlin %499 %2007, 12:58
Alweer een tijdje geleden postte ik hier wat vragen met betrekking tot een slider-applicatie. Even heel kort de story: ik heb drie sliders die alledrie een tweetal tekstvelden updaten met een waarde. Dat werkt allemaal prima: iedere slider is een instance van een Slider-class.
Ik ga er nu weer mee verder en de functionaliteit moet worden uitgebreid met een Slider met wat extra functionaliteit (hij is zelf net zo bedienbaar als de reeds aanwezige sliders, maar moet daarnaast een weergave doen van de totalen van de drie aanwezige sliders).
Nou dacht ik dus een SliderMain te maken die Slider extend en daarin dan de extra methods en evt. properties te definieren. Ik krijg het alleen niet voor elkaar. Nou heb ik inmiddels begrepen dat ik een constructor van de parent class (Slider) niet kan overloaden met een constructor SliderMain(). Prima; doe ik gewoon een super-call en geef hierin de argumenten door. Ik heb dan dus iets als:
class SliderMain extends Slider
{
// property definities
// ..
public function SliderMain (processor:SliderProcessor, linkageid : String, x : Number, y : Number, target : MovieClip, min : Number, max : Number, label : String)
{
super(processor:SliderProcessor, linkageid : String, x : Number, y : Number, target : MovieClip, min : Number, max : Number, label : String);
}
}
De super constructor ziet er zo uit
public function Slider (processor:SliderProcessor, linkageid : String, x : Number, y : Number, target : MovieClip, min : Number, max : Number, label : String)
{
// trace ("Slider > processor for this Slider is " + processor);
// check if all arguments are passed (simple check)
if (arguments.length < 8)
{
throw new Error ("UnlimitedSlider ERROR: Number of passed arguments too small; aborting");
}
// put the slider on stage
showSlider (linkageid, x, y, target);
// add references to the interface elements that make up the slider
slideBtn = sliderClip.sliderbtn_mc;
constrainClip = sliderClip.constrain_mc;
valDisplay = sliderClip.valDisplay_mc;
valDisplayField = sliderClip.valDisplay_mc.valDisplayField_txt;
sliderLabelField = sliderClip.label_txt;
// reference to the instance of sliderProcessor that processes data from this slider
sliderProcessor = processor;
// trace("sliderProcessor = " + sliderProcessor);
// set min and max values
_minVal = min;
_maxVal = max;
// display the label
showLabel (label);
// initialise the slider
init ();
}
Zodra ik dat echter zo doe wordt ik met ongeveer 57 errors om de oren geslagen [V] Los van dat ik daar niet blij van wordt, weet ik niet meer hoe ik dit nou moet oplossen. Misschien is de aanpak sowieso niet goed; dan hoor ik dat ook graag.
Tnx.
John
Ik ga er nu weer mee verder en de functionaliteit moet worden uitgebreid met een Slider met wat extra functionaliteit (hij is zelf net zo bedienbaar als de reeds aanwezige sliders, maar moet daarnaast een weergave doen van de totalen van de drie aanwezige sliders).
Nou dacht ik dus een SliderMain te maken die Slider extend en daarin dan de extra methods en evt. properties te definieren. Ik krijg het alleen niet voor elkaar. Nou heb ik inmiddels begrepen dat ik een constructor van de parent class (Slider) niet kan overloaden met een constructor SliderMain(). Prima; doe ik gewoon een super-call en geef hierin de argumenten door. Ik heb dan dus iets als:
class SliderMain extends Slider
{
// property definities
// ..
public function SliderMain (processor:SliderProcessor, linkageid : String, x : Number, y : Number, target : MovieClip, min : Number, max : Number, label : String)
{
super(processor:SliderProcessor, linkageid : String, x : Number, y : Number, target : MovieClip, min : Number, max : Number, label : String);
}
}
De super constructor ziet er zo uit
public function Slider (processor:SliderProcessor, linkageid : String, x : Number, y : Number, target : MovieClip, min : Number, max : Number, label : String)
{
// trace ("Slider > processor for this Slider is " + processor);
// check if all arguments are passed (simple check)
if (arguments.length < 8)
{
throw new Error ("UnlimitedSlider ERROR: Number of passed arguments too small; aborting");
}
// put the slider on stage
showSlider (linkageid, x, y, target);
// add references to the interface elements that make up the slider
slideBtn = sliderClip.sliderbtn_mc;
constrainClip = sliderClip.constrain_mc;
valDisplay = sliderClip.valDisplay_mc;
valDisplayField = sliderClip.valDisplay_mc.valDisplayField_txt;
sliderLabelField = sliderClip.label_txt;
// reference to the instance of sliderProcessor that processes data from this slider
sliderProcessor = processor;
// trace("sliderProcessor = " + sliderProcessor);
// set min and max values
_minVal = min;
_maxVal = max;
// display the label
showLabel (label);
// initialise the slider
init ();
}
Zodra ik dat echter zo doe wordt ik met ongeveer 57 errors om de oren geslagen [V] Los van dat ik daar niet blij van wordt, weet ik niet meer hoe ik dit nou moet oplossen. Misschien is de aanpak sowieso niet goed; dan hoor ik dat ook graag.
Tnx.
John