hilfdirselbst.ch
Facebook Twitter gamper-media
« « 1 2 » »  
Pedasi
Beiträge: 84
24. Jun 2003, 11:17
Beitrag #1 von 21
Bewertung:
(3267 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Textfeld uzm eintippen und Auswertung?


Hallo An Alle,

ich möchte folgendes -> in ein Textdarsteller soll (vom User)ein Wort eingetippt werden und zugleich abgefragt ob es das richtige ist, fast wie in ein Quiz.
Hatt jemand ein Ansatz wie ich das realisieren könnte?

Vielen Dank im voraus.
Grüße Pedasi. Top
 
X
Anonym
Beiträge: 22827
24. Jun 2003, 15:02
Beitrag #2 von 21
Beitrag ID: #40955
Bewertung:
(3267 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Textfeld uzm eintippen und Auswertung?


Hallo,

habe mal ein Filmskrip erstellt wo es schon dem ähnlich wird wie es sein soll. Doch folgendes Problem wenn in das Feld ein falsches Wort geschrieben wird soll ein alert kommen und der Text im Feld wird gelöscht so gut nur bei richtiger Antwort wird auch der Text im Feld gelöscht obwohl es im else steht
hier das Skript

on startMovie me
put empty into field "eingabe"
put empty into field "eingabe2"
the keyDownScript = "myKey"
end


on myKey
if the Key = return then
Auswertung
end if
end


on Auswertung me
if field "eingabe" = "heute" then
alert "richtig"
else
alert "flasch"
put empty into field "eingabe"
end if

if field "eingabe2" = "morgen" then --zweites Feld
alert "richtig-morgen"
end if
end

wo liegtn der Fehler? Eigentlich soll bei richtiger Eingabe nicht der Textinhalt gelöscht werden.

Grüße Pedasi.
als Antwort auf: [#40888] Top
 
donkey shot
Beiträge: 1416
24. Jun 2003, 15:06
Beitrag #3 von 21
Beitrag ID: #40956
Bewertung:
(3267 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Textfeld uzm eintippen und Auswertung?


Du baust einen Textdarsteller auf die Bühne (am besten keinen Felddarsteller, die sind sch...) und stellt im Property-Inspector "bearbeitbar" ein. Nehmen wir einmal an, das ist Sprite 1.

Darunter (oder wohin auch immer) baust du einen Button mit dem folgenden Verhalten:

on mouseUp me

myword = the text of sprite(1).member

if myWord = "Lösung" then
alert "Das Lösungswort ist richtig!" & RETURN & "Sie haben zwei Milliarden Kopeken und eine Baggerfahrt in die Eifel gewonnen!!!"
else
alert "Leider falsch!"
end if

end mouseUp

Statt "Lösung" mußt du dein Lösungswort einsetzen. In die Zeilen mit "alert" kannst Du ja einsetzen, was Du willst, zB. go to "Marker"

Ich habe auch schonmal ein Skript geschrieben, das die Auswertung vornimmt, wenn man die enter-Taste drückt, aber das müßte ich raussuchen. Bin gerade nicht an meinem eigenen Rechner.

grüsse

Christof
als Antwort auf: [#40888] Top
 
Pedasi
Beiträge: 84
24. Jun 2003, 15:47
Beitrag #4 von 21
Beitrag ID: #40965
Bewertung:
(3267 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Textfeld uzm eintippen und Auswertung?




...oke soweit ist es klar doch was mach ich wenn ich noch ein dritten und vierten Textdarsteller brauche wo auch da der User etwas reinschreiben sollte?

Also insgesamt soll es ein Lückentest werden wo der User einige Lücken ausfüllen muß.

Grüße Pedasi
als Antwort auf: [#40888] Top
 
donkey shot
Beiträge: 1416
24. Jun 2003, 19:54
Beitrag #5 von 21
Beitrag ID: #41015
Bewertung:
(3267 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Textfeld uzm eintippen und Auswertung?


Willstu einen nach dem anderen auswerten oder alle auf einmal?

grüsse

Christof
als Antwort auf: [#40888] Top
 
donkey shot
Beiträge: 1416
24. Jun 2003, 20:57
Beitrag #6 von 21
Beitrag ID: #41026
Bewertung:
(3267 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Textfeld uzm eintippen und Auswertung?


Habe mir mal den Ehrgeiz gegönnt, das ganze elegant zu lösen. Ginge auch mit vielen iffen und elsen, aber so ists schöner:

on mouseUp me

wordList = []

repeat with n = 1 to 4
myText = the text of sprite(n).member
append wordList, myText
end repeat


if wordList = ["Hase", "Igel", "Frau des Igels", "Buxtehude"] then
alert "Super! Sie sind ein Genie!"
else
alert "Das war falsch, Sie Doofkopp!"
end if

end mouseUp

Bedingung: die Texteingabe-Sprites müssen in den Kanälen alle aufeinanderfolgen. Im Beispiel wäre 1 der erste und 4 der letzte.

Die Lösungswörter mußt Du alle in der richtigen Reihenfolge in eine Liste schreiben, aber das siehst Du ja.

Man könnte auch noch ein Verhalten schreiben, was die Eingabefelder ihre Lösungswörter selber in eine Liste schreiben lassen würde, aber das habe ich mir jatzt mal verkniffen. So ists einfacher, denke ich.

grüsse

Christof
als Antwort auf: [#40888] Top
 
Pedasi
Beiträge: 84
25. Jun 2003, 09:57
Beitrag #7 von 21
Beitrag ID: #41105
Bewertung:
(3267 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Textfeld uzm eintippen und Auswertung?


Hallo Christof,

Dir vielen Dank.
Ich möchte das wenn der User ein falschen Text eintippt z.B. ein Sprite eingeblendet wird und die Eingabe gelöscht wird und wenn der User den richtiggen Text eintippt soll nur der eingetippte Text stehen bleiben und es kann der nächste Text eingetippt werden.
Also Auswertung immer gleich, nicht zum Schluß.


Grüße Pedasi.
als Antwort auf: [#40888] Top
 
donkey shot
Beiträge: 1416
25. Jun 2003, 16:36
Beitrag #8 von 21
Beitrag ID: #41186
Bewertung:
(3267 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Textfeld uzm eintippen und Auswertung?


Hier nochmal ein Skript, das immer den nächsten Sprite sichtbar und editierbar macht, wenn das Lösungswort (per Parameter einzugeben) richtig war:

property myWord
property mySprite

on beginSprite me
mySprite = the spriteNum of me
sprite(mySprite + 1).visible = FALSE
sprite(mySprite).editable = TRUE
sprite(mySprite).member.text = EMPTY
end beginSprite

on endSprite me
sprite(mySprite + 1).visible = TRUE
end endSprite

on keyUp
if the key = RETURN then
myText = sprite(mySprite).member.text
delete the last char of myText
evaluate
else
nothing
end if
end

on evaluate me
if the text of sprite(mySprite).member = myWord & RETURN then
sprite(mySprite).member.text = myWord
sprite(mySprite + 1).visible = TRUE
sprite(mySprite).editable = FALSE
else
sprite(mySprite).member.text = EMPTY
alert "Leider liegen Sie falsch!"
end if
end evaluate


on getPropertyDescriptionList
set pList = [:]
addProp pList, #myWord, [#default: "Wort", #format:#string, #comment:"Lösungswort"]
return pList
end

----------------

Beim letzten Sprite muß Du das nehmen:

property myWord
property mySprite

on beginSprite me
mySprite = the spriteNum of me
sprite(mySprite).editable = TRUE
sprite(mySprite).member.text = EMPTY
end beginSprite

on keyUp
if the key = RETURN then
myText = sprite(mySprite).member.text
delete the last char of myText
evaluate
else
nothing
end if
end

on evaluate me
if the text of sprite(mySprite).member = myWord & RETURN then
sprite(mySprite).member.text = myWord
sprite(mySprite).editable = FALSE
••••••••
else
sprite(mySprite).member.text = EMPTY
alert "Leider liegen Sie falsch!"
end if
end evaluate


on getPropertyDescriptionList
set pList = [:]
addProp pList, #myWord, [#default: "Wort", #format:#string, #comment:"Lösungswort"]
return pList
end

---------------

für die Zeile •••••••• kannst Du die darauffolgende Aktion einsetzen. ZB. »go to "marker"«

statt alert kannst Du

sprite(irgendeineZahl).visible = TRUE

einsetzen. Dann könntest Du einen Sprite als Fehlermeldung einblenden mit folgendem Verhalten:

on beginSprite me
sprite(the spritenum of me).visible = FALSE
end beginsprite

on mouseUp me
sprite(the spritenum of me).visible = FALSE
end mouseUp

grüsse

Christof
als Antwort auf: [#40888] Top
 
Pedasi
Beiträge: 84
25. Jun 2003, 17:51
Beitrag #9 von 21
Beitrag ID: #41192
Bewertung:
(3267 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Textfeld uzm eintippen und Auswertung?


Hallo Christof,

also Dein Skript hab ich auf Textdarsteller_1 (auch gleich Sprite 1), da ist das Lösungswort "Wort" klappt auch -> dann wird der 2. Textdarsteller sichtbar -> da hab ich die getPropertyDescriptionList erweitert hinter "Wort" die nächsten ist das Richtig? Jetzt wird bei Textdarsteller_2 nach eingabe und return der Inhalt gelöscht, was nun?

Danke im voraus.
Grüße Pedasi.
als Antwort auf: [#40888] Top
 
donkey shot
Beiträge: 1416
25. Jun 2003, 21:34
Beitrag #10 von 21
Beitrag ID: #41218
Bewertung:
(3267 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Textfeld uzm eintippen und Auswertung?


Du mußt einfach nur das gleiche Verhalten nehmen und bei den Parametern was anderes eingeben. Brauchstu nich dranrumzubasteln.

grüsse

Christof
als Antwort auf: [#40888] Top
 
Pedasi
Beiträge: 84
26. Jun 2003, 11:53
Beitrag #11 von 21
Beitrag ID: #41309
Bewertung:
(3267 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Textfeld uzm eintippen und Auswertung?


Hallo Christof

ich glaube jetzt hab ich das kapiert. Sitze noch dran, macht Vortschritte. Dir Danke und
liebe Grüße

Pedasi.
als Antwort auf: [#40888] Top
 
Pedasi
Beiträge: 84
26. Jun 2003, 18:45
Beitrag #12 von 21
Beitrag ID: #41372
Bewertung:
(3267 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Textfeld uzm eintippen und Auswertung?


Hallo Christof,

irgendwie funtz das Skrip nicht -> bei Textdarsteller_1 ja dann gehts zu Textdarsteller_2 geht doch hier wird nach der Auswertung der Inhalt gelöscht und Textdarsteller_3 erscheint und auch hier wird nach der richtigen Eingabe wieder der Inhalt gelöscht.....was nun?

Grüße Pedasi.
als Antwort auf: [#40888] Top
 
donkey shot
Beiträge: 1416
27. Jun 2003, 00:57
Beitrag #13 von 21
Beitrag ID: #41402
Bewertung:
(3267 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Textfeld uzm eintippen und Auswertung?


Also, bei mir gings wunderbar. Ich maile Dir mal bei Gelegenheit die Datei. (Die habe ich gerade auf einem anderen Rechner).

grüsse

Christof
als Antwort auf: [#40888] Top
 
Pedasi
Beiträge: 84
27. Jun 2003, 11:10
Beitrag #14 von 21
Beitrag ID: #41468
Bewertung:
(3267 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Textfeld uzm eintippen und Auswertung?



Vielen Dank für Deine Hilfe Christof, endlich haben wir die Lösung:-)

Liebe Grüße
Pedasi.
als Antwort auf: [#40888] Top
 
Pedasi
Beiträge: 84
29. Jun 2003, 18:52
Beitrag #15 von 21
Beitrag ID: #41762
Bewertung:
(3267 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Textfeld uzm eintippen und Auswertung?


Hallo Christof,

ich hab da noch eine Frage, wenn die Alertbox erscheint und ich auf ENTER drücke geht ja nicht die Alertbox zu, habe versuch dies zu ändern und komme nicht drauf, hast Du da eine Idee?

Dir vielen Dank
Grüße Pedasi.
als Antwort auf: [#40888] Top
 
« « 1 2 » »  
X