Avatar billede bruunson Nybegynder
17. december 2003 - 15:27 Der er 7 kommentarer

Grafisk Keyboard

Sidder nu med et nyt problem. Jeg har tegnet et keyboard,og har lagt fields over de enkelte knapper. Når jeg trykker på et field vil jeg gerne skrive det korresponderende bogstav i mit outputField.
Jeg har fundet ud af at udskrive et enkelt bogstav, det er bare ikke nok(-:

Her er den stump kode jeg har indtil videre:

On mouseDown me
  --temptext = sprite(2).member.text
 
  if me.spriteNum = 3 then
    sprite(2).member.text = "Q"
  end if
 
  if me.spriteNum = 4 then
    sprite(2).member.text = "W"
  end if
end

Mit spørgsmål er altså hvordan jeg får tilføjet bogstaverne og ikke bare erstattet dem!
Avatar billede fun22 Nybegynder
17. december 2003 - 15:30 #1
kan du ikke lave noget ala sprite(2).member.text = sprite(2).member.text + "W" ?

Ved ikke om det virker... har ikke forstand på lingo...
Avatar billede bruunson Nybegynder
17. december 2003 - 15:36 #2
det gør det ikke(-: Så får jeg en script error: String expected
Avatar billede sbrandorff Nybegynder
17. december 2003 - 15:45 #3
Du skal bruge operatorerne & eller && til at konkatenere strenge.  Altså som fun22-svaret, men ikke med et "+",
,men  med et "&" - så skulle det funke
Avatar billede kanding Nybegynder
17. december 2003 - 15:46 #4
Du har vel den samme behavior på alle dine text sprites ikke??

Ellers er opskriften at du sætter et text member for hvert bogstav på hver sin sprite og giver dem dette script:

On mouseDown me
  bogstav = sprite(me.spritenum).member.text
  oldText = member("outputField").text   
  member("outputField").text = oldText & bogstav
end

Men du kommer lidt på en opgave når du skal til at implementere BACKSPACE og DELETE samt ARROW KEYS.

kig bla. på selStart og selEnd
Avatar billede bruunson Nybegynder
17. december 2003 - 16:01 #5
Det virker perfekt ved hjælp af "&" - tak Steffen!
Jeg skal heldigvis kun implementere backspace!
Avatar billede bruunson Nybegynder
17. december 2003 - 16:08 #6
Er ved at implementere den bakcspace funktion og giver gladeligt pointene til den som kan fortælle mig den korrekte syntaks(-:
Det kode jeg har indtil videre er:

if me.spriteNum = 7 then
    sprite(2).member.text = the selEnd = the selStart -1
    end if
Avatar billede sbrandorff Nybegynder
17. december 2003 - 16:22 #7
Mon Lingo fortolkeren vil godkende to lighedstegn i samme linie?  Det har jeg aldrig prøvet... Men skal du kunne bruge backspace generelt, skal du kunne udpege alle pladser i en streng. Så kan du kopiere den rettede streng over i en ny streng, som tildeles den samme variabel.
Ellers har jeg på fornemmelsen, at du er på lidt tynd is, men hvis bruunson godkender, så OK
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester