Discuss Scratch

Drachenbauer
Scratcher
100+ posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

Hallo

Wie kann ich selber bestimmen, wo in der Sprechblase vom
sage
ein Zeilenumbruch entsteht?
scriptimus-prime
Scratcher
25 posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

Drücke an der Stelle, an der der Zeilenumbruch entstehen solle, bei gedrückter “ALT”-Taste die Ziffernfolge 010 im Zehner-Tastenblock. Sobald du die ALT-Taste losläst, entsteht dort der Zeilenumbruch. Du kannst auch diese ALT-010-Zeichenfolge einer Variable zuweisen und sie mittels des verbinde-Blocks immer wieder an den betreffenden Stellen zu einer Variable hinzufügen, um einen Zeilenvorschub einzufügen.
Drachenbauer
Scratcher
100+ posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

Wenn ich Alt gedrückt halte, passiert bei mir garnix, wenn ich diese Ziffern drücke…
Ist das vielleicht die vorgehensweise für die große Tastatur von einem Desktop-PC?
Ich habe einen Laptop.
Vielleicht funktioniert das da anders.
scriptimus-prime
Scratcher
25 posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

Es geht nur mit den Ziffern des Zehnerblocks. Bei manchen Laptops ist eine Zehnertastatur noch irgendwie in die Tasten p ü *, l ö ä, , . - mit hineincodiert (wird dann auf diesen Tasten extra als kleine Ziffern angezeigt, die mit STRG oder ALT GR erreichbar sind). Wenn dies auf deiner Tastatur nicht der Fall ist, geht es bei dir leider nicht.
Drachenbauer
Scratcher
100+ posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

ich habe zwar einen Ziffernblock neben dem Buchstaben-Bereich, aber trotzdem geht es nicht…
Die “0” aus meinem Ziffernblock öffnet irgendwie immer das Kontext-Menü…
NpChecker
Scratcher
100+ posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

Drachenbauer wrote:

Hallo

Wie kann ich selber bestimmen, wo in der Sprechblase vom
sage
ein Zeilenumbruch entsteht?
Was du meinst, ist ein erzwungener Zeilenumbruch. Was scriptimus-prime vorgeschlagen hat, ist, glaube ich, ein gewöhnlicher Zeilenumbruch, der auch beim Drücken auf Enter eingefügt wird. Ein solcher kann jedoch nicht in einer einzelnen Zeile einfügt werden, auch nicht mit der Zwischenablage. Google doch, wie die Tastenkombination für einen erzwungenen Zeilenumbruch lautet, vielleicht lässt sich dieser in eine Zeile einfügen.

Liebe Grüße
NpChecker
Drachenbauer
Scratcher
100+ posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

da finde ich nur dieses <br> ding…
NpChecker
Scratcher
100+ posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

Drachenbauer wrote:

da finde ich nur dieses <br> ding…
Das ist der HTML-Befehl für eine neue Zeile. Ich habe den schon ausprobiert und der funktioniert (wie erwartet) nicht. Allerdings bin ich auf eine weitere Tastenkombination gestoßen:
Umschalttaste + Enter
Die funktioniert jedoch auch nicht in einer einzigen Zeile. Dann klappt das bei erzwungenen Zeilenumbrüchen (wenn die genannte Tastenkombination dies bedeutet) wohl auch nicht, wie bei den gewöhnlichen.
Mach' dir aber nichts draus. In Scratch 3.0 wird der Sprech- und Denkblasen-Style sowieso anders sein.

Last edited by NpChecker (June 12, 2017 08:44:13)

scriptimus-prime
Scratcher
25 posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

Was du meinst, ist ein erzwungener Zeilenumbruch. Was scriptimus-prime vorgeschlagen hat, ist, glaube ich, ein gewöhnlicher Zeilenumbruch, der auch beim Drücken auf Enter eingefügt wird. Ein solcher kann jedoch nicht in einer einzelnen Zeile einfügt werden, auch nicht mit der Zwischenablage.

Liebe Grüße
NpChecker

Nein, was ich vorgeschlagen habe, ist nicht ein gewöhnlicher Zeilenumbruch, der durch Drücken auf Enter eingefügt wirde, denn dieser erzeugt in Texteditoren einen Zeilenumbruch mittels der ASCII-Sonderzeichen 10 und 13, wobei 10 für ein “Line-Feed” (also einen Zeilenvorschub) und 13 für ein “Carriage Return” (also einen Wagenrücklauf zum Zeilenanfang - kennt man noch aus Schreibmaschinenzeiten) steht.
Das Drücken von Enter funktioniert in Scratch innerhalb von Textzeilen nicht, weil die Enter-Taste hier keine Sonderzeichen einfügt.

Durch das Gedrückthalten von ALT in Verbindung mit dem Tippen einer dreistelligen (!) Zahlenfolge auf dem Zehnerblock lassen sich aber sämtliche ASCII-Zeichen von 0 bis 255 erzeugen, auch die nicht als sichtbares Zeichen mittels der Tastatur eingebbaren Sonder-/Steuerzeichen.

Die Ziffernfolge ALT + 010 erzeugt genau das oben erwähnte LF (LineFeed) und erzwingt an dieser Stelle einen Zeilenvorschub. Es ist dabei nicht nötig, auch noch ein ALT+013 (CR) hinterher zu schieben, denn die neue Zeile startet automatisch wieder am Zeilenanfang.
Innerhalb des “Sage”- oder “Denke”-Blocks wird der Zeilenumbruch ebenfalls dargestellt, indem nämlich die neue(n) Zeile(n) in den lilafarbenen Bereich unterhalb des Eingabefeldes wandern und der Block insgesamt mit jeder neuen Zeile höher wird.

Wie gesagt, funktioniert dieser erzwungene Zeilenumbruch NUR und ausschließlich mit einem separaten Zehnerblock. Es klappt nicht mit den Zifferntasten oberhalb der Buchstabentasten. Es kann natürlich sein, dass es sich bei Verwendung des Offline-Editors noch einmal anders verhält. Das weiß ich nicht. Im Online-Editor lassen sich mit dem beschriebenen Trick aber Zeilenumbrüche nicht nur in den Sage- und Denke-Blocks, sondern in allen Eingabefeldern, in denen Text eingetragen werden kann, vornehmen - z.B. auch in Variablen oder in Listenelementen.

Übrigens lässt sich damit der von Scratch in Sprechblasen automatisch vorgenommene Zeilenumbruch in längeren Zeilen nur vorziehen, aber nicht verhindern. Wenn eine der von Hand umgebrochenen Zeilen für die Sprechblase insgesamt zu lang ist, wird sich noch einmal automatisch umgebrochen, so dass dann u.U. ein einzelnes Wort ein eine weitere Zeile rutscht.

Last edited by scriptimus-prime (June 12, 2017 08:45:55)

LiFaytheGoblin
Forum Moderator
1000+ posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

Wow, cooler Tipp! Kann das jemand ins Wiki übertragen?

Man könnte einen Artikel Sprechblase erstellen, dort die Blöcke die es betrifft auflisten, und dann erklären wie das mit dem Seitenumbruch geht…
Drachenbauer
Scratcher
100+ posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

bei mir reagiert der Ziffernblock aber irgendwie nicht auf das gedrückt halten von Alt…
Wennich Alt gedrückt halte und dann solche Ziffern tippe, passiert garnix…

Ich habe das problem gefunden, die “0” war durch den “Fn Lock” gesperrt gewesen.

Jetzt geht´s.
und wie einer von euch sagte, steht der nach unten versetzte Teil vom Text auf der farbigen Fläche vom Block.

Last edited by Drachenbauer (June 13, 2017 14:44:08)

NpChecker
Scratcher
100+ posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

Drachenbauer wrote:

bei mir reagiert der Ziffernblock aber irgendwie nicht auf das gedrückt halten von Alt…
Wennich Alt gedrückt halte und dann solche Ziffern tippe, passiert garnix…
Bei mir hat die Tastenkombination Alt+010 funktioniert, aber nicht in dem Scratch-Block.

sageWoran liegt das?
Drachenbauer
Scratcher
100+ posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

Ich habe
verbindeworld
im
sage
also
sageverbindeworld
da klappt es.

und in einem
sage
ohne weitere Blöcke darin geht´s bei mir jetzt auch.

NpChecker wrote:

Bei mir hat die Tastenkombination Alt+010 funktioniert, aber nicht in dem Scratch-Block.

sageWoran liegt das?

vielleicht drückst du die Ziffern zu langsam.
In einem PC-Forum hatte einer eine komische Einstellung drin, dass er die Ziffern sehr schnell tippen musste, damit es klappt.

Last edited by Drachenbauer (June 13, 2017 14:48:29)

NpChecker
Scratcher
100+ posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

Drachenbauer wrote:

Ich habe
verbindeworld
im
sage
also
sageverbindeworld
da klappt es.

und in einem
sage
ohne weitere Blöcke darin geht´s bei mir jetzt auch.

NpChecker wrote:

Bei mir hat die Tastenkombination Alt+010 funktioniert, aber nicht in dem Scratch-Block.

sageWoran liegt das?

vielleicht drückst du die Ziffern zu langsam.
In einem PC-Forum hatte einer eine komische Einstellung drin, dass er die Ziffern sehr schnell tippen musste, damit es klappt.
Ich habe die Tastenkombination wieder ausprobiert. Jetzt funktioniert es! Danke für die Tipps.

Und natürlich auch ein Dankeschön an scriptimus-prime.

LG NpChecker

Last edited by NpChecker (June 13, 2017 16:12:56)

NpChecker
Scratcher
100+ posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

Ich habe einen Artikel über die Sprechblase geschrieben. Ich bin noch kein offizieller Autor im Scratch-Wiki, deswegen kann ich das gerade nicht selber ins Wiki übertragen. Das kann also jemand anders übernehmen, wenn der Artikel gut genug dafür ist. Er kann vielleicht von einem Scratch-Wiki-Autor noch etwas verbessert werden.

Sprechblase

Die Sprechblase ist eine Scratch-Funktion, die seit Version 1.0 unterstützt wird. Bei ihrer Verwendung entsteht von der auslösenden Figur aus ein weißes Feld mit grauer Umrandung, das den in den Skripten festgelegten Text enthält.

Übersicht:
  • auslösende Skripte
  • Aussehen
  • Bedeutung der Scratch-Blöcke
  • Beispielverwendungen
  • Probleme

Auslösende Skripte
Die Sprechblase (oder je nach Skript auch Denkblase) wird durch folgende Skripte erzeugt:

sageHallo!für2Sek.sageHallo!denkeHmm…für2Sek.denkeHmm…frageWie heißt du?undwarte

Aussehen
Die Sprechblase ist ein weißer, abgerundeter Kasten, der grau umrandet ist, und auf die auslösende Figur zeigt. In ihr wird der gewählte Text in einer serifenlosen Schriftart fett angezeigt. (Scratch 2.0)
Dieses Aussehen trifft auf die Verwendung der Skripte sage und frage zu. Bei der Verwendung des Skripts denke gleicht das Aussehen einer typischen Denkblase.

Bedeutung der Scratch-Blöcke

sagefürSek.
Wird dieser Block benutzt, sagt die Figur den Text, der im ersten Input geschrieben wurde, mit der im zweiten Input festgelegten Dauer.


sage
Wird dieser Block benutzt, sagt die Figur den Text, der im Input geschrieben wurde, mit unbegrenzter Dauer. Er kann, wie alle anderen Sprechblasen-Blöcke auch (außer bei dem frage-Block), im Bühnenbild jedoch nicht gebraucht werden.

denkefürSek.
Wird dieser Block benutzt, denkt die Figur den Text, der im ersten Input geschrieben wurde, mit der im zweiten Input festgelegten Dauer.

denke
Wird dieser Block benutzt, denkt die Figur den Text, der im Input geschrieben wurde, mit unbegrenzter Dauer.

frage und warte
Wird dieser Block benutzt, sagt die Figur den Text, der im Input geschrieben wurde. Er lässt ein interaktives Feld am unteren Rand des Bildschirms erscheinen, in das der Benutzer Text eingeben und einsenden kann. Erst, wenn Letzteres getan wurde, hört die Figur auf, den Text zu sagen.
Bei leerem Input erscheint der Kasten trotzdem, jedoch sagt die Figur nichts. Wird dieses Skript im Bühnenbild verwendet, erscheint auch keine Sprechblase, dafür aber wird der als Frage festgelegte Text in dem Kasten fett angezeigt.

Beispielverwendungen

WennangeklicktwirdsageHerzlich Willkommen!für2Sek.denkeWie heißt der Benutzer?für2Sek.frageWie heißt du?undwartesetzeNameaufAntwort

WennangeklicktwirdwiederholefortlaufendfallswirdMauszeigerberührt?dannsageSpielen!sonstsageend

Probleme
  • die Schriftart sowie der Schriftschnitt kann nicht ausgewählt werden
  • bei langem Text wird die Sprechblase nicht breiter, sondern nur länger, was zu einem weniger schönen Aussehen führt (Scratch 2.0)
  • lange Wörter gehen von einer Zeile ggf. zur nächsten, ohne durch einen Bindestrich verbunden zu sein
  • Zeilenumbrüche können nur mit der Tastenkombination Alt+010 eingefügt werden
Drachenbauer
Scratcher
100+ posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

irgendwie klappt alt 010 bei mir nicht mehr in Scratch-Blöcken…
Und hier beim Beitrag schreiben auch nicht.
Im Text-Programm Editor klappt es aber schon…

wie kommt das?

Last edited by Drachenbauer (April 23, 2018 20:46:04)

tkarcher
Scratcher
94 posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

Das scheint Browser-abhängig zu sein. Bei mir geht's auch nicht. In diesem Projekt z.B. aber schon:

https://scratch.mit.edu/projects/196353454/#editor

Den Sage-Block von dort kann ich auch in mein Lager ziehen und in eigenen Projekten weiter bearbeiten. Vielleicht hilft dir das schon? Noch schöner wäre es natürlich, so einen (wie auch immer erzeugten) Zeilenumbruch in einem Join-Block im Lager zu haben, um damit auch Variablen ausgeben zu können. Für ALT+010 (einfacher Zeilenvorschub) habe ich so einen Block noch nicht gefunden. Vielleicht mag jemand, in dessen Browser es geht, so einen Block mal veröffentlichen?

Gefunden habe ich bisher nur einen Block mit “neuem Absatz” (also zwei Vorschüben):

https://scratch.mit.edu/projects/105149581/#editor

Nicht perfekt, aber besser als nichts.
Drachenbauer
Scratcher
100+ posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

auf Microsoft Edge klappt es auch nicht…
Und mit Google Crome auch nicht

Last edited by Drachenbauer (April 29, 2018 19:57:58)

Drachenbauer
Scratcher
100+ posts

Wie erzeuge ich einen Zeilenumbruch in der Sprechblase des "Sage" Blocks?

Wieso klappt es nicht mehr?

Powered by DjangoBB