PDA

Volledige versie bekijken : (Digitaal) toetsenbordje


polleke_1
%Europe/Berlin %833 %2007, 21:00
Hallo,
Ik weet niet of ik het op de goede plek heb gezet. Als het dus fout staat mijn excuus.

Mijn vraag.
Ik wil een toetsenbordje maken waar je zeg maar op een plaatje moet klikken met de A erop en dat die a zeg maar in tekst vorm ergens op het beeld komt te staan. Dus net hoe je typt maar dan dat je op de letter moet klikken.
Wil je mij ook een beetje duidelijke uitleg geven want ik ben een beginner.

Alvast bedankt!!

Ps. ik gebruik Flash Pro. 8

Albus
%Europe/Berlin %850 %2007, 21:24
Als je bij Flash help gaat kijken onder AS2 classes bij Key en Textfield zou je de basis van je applicatie moeten kunnen ontwikkelen.

polleke_1
%Europe/Berlin %858 %2007, 21:35
ik heb gekeken, maar ik heb het niet kunnen vinden. Ik ben dus nog niet echt iets wijzer geworden:P

BernardV
%Europe/Berlin %909 %2007, 22:49
Ik zou beginnen met de basis.
Je kunt namelijk karakters genereren mbv ascii codes.
for(var i:Number=65;i<91;i++){
trace(chr(i));
}
Dit zal A..Z tracen.

Nu je dit hebt kun je dus ook tekstvelden gaan maken met mbv van createTextField.
Als je die op het scherm plaatst in een eigen movieclip kun je zo je buttons maken voor je toetsenbord.

Simpel basis voorbeeld:
for(var i:Number = 65; i < 91 ; i++){
createLetterButton(i,this,((i-65)%9)*21,Math.floor((i-65)/9)*21,20,20);
}

function createLetterButton(charCode:Number, target:MovieClip, x:Number, y:Number, width:Number, height:Number):Void
{
var charMc:MovieClip = target.createEmptyMovieClip("char"+charCode,target.getNextHighestDepth());
charMc._x = x;
charMc._y = y;
charMc.beginFill(0xCCCCCC,100);
charMc.moveTo(0,0);
charMc.lineTo(width,0);
charMc.lineTo(width,height);
charMc.lineTo(0,height);
charMc.lineTo(0,0);
charMc.endFill();

charMc.onRelease = charMc.onReleaseOutside = traceChar;

var charHolder:TextField = charMc.createTextField("charHolder",1,0,0,0,height);

charHolder.autoSize = "left";

var charFormat:TextFormat = new TextFormat();
charFormat.font = "Arial";
charFormat.size = 14;

charHolder.setNewTextFormat(charFormat);

charHolder.text = chr(charCode);

charHolder._x = Math.round((width-charHolder.textWidth-6)/2);
}

function traceChar():Void
{
trace(this.charHolder.text);
}

Denk dat je hiermee een stuk verder kunt komen. Probeer de code te begrijpen en mocht je gerichte vragen hebben hoor ik het graag.