SWiSH Forum
Forum użytkowników programów SWiSH

FAQ - czyli Najczęściej Zadawane Pytania - Przewijanie tekstu w polu tekstowym

tAboon - Sob 14 Maj, 2005 20:57
Temat postu: Przewijanie tekstu w polu tekstowym
Tworzymy sobie pole tekstowe z tekstem (nadajemy mu nazwę tutaj jest "teskt" oraz zanzaczamy opcje target) oraz jakiś shape, który będzie nam odsłaniał tekst. zaznaczamy oba te obiekty i konwertujemy do sprajta (Modify / Convert / Convert to Sprite). Nastepnie zmieniamy nazwę sprajta na dowolną (tutaj jest "tekstmaska") oraz zaznaczamy opcję USE BOTTON OBJECT AS A MASK.

A teraz Scroll

1. Tworzymy shape, który będziemy używali jako scroll w dół i konwertujemy do batona (Modify / Convert / Convert to Button).
2. We właściwościach po prawej zmieniamy nazwę batona na "dol" oraz zaznaczamy opcje: for "Has separate over state", "Has separate down state", and "Use bounding box for hit-state".
3. Według własnej inwencji twórczej możemy również zaznaczyć opcje Up, Over, and Down states (aby uzyskać odpowiedni efekt).
4. Powtarzamy krok #1, #2, i #3 aby stworzyć batona do przewijania tekstu w górę i nazywamy go „gora”.
Tworzenie skryptów dla batonów
5. Otwieramy sobie okienko skryptów dla batona "dol".
6. Definiujemy pod jakimi akcjami chcemy aby baton reagował wybieramy Press action (Add Script / Events / Button / OnPress).
7. Dorzucamy podskrypt Name=Expr (Add Script / Statements / Name=Expr). W polu NAME wpisujemy "isPressed" oraz jako wartość "true"
8. Teraz dodajemy akcję on(release) dla tego batona (Add Script / Events / Button / OnRelease) – oraz zaznaczamy opcję "Release Outside". Dodajemy ponownie podskrypt Name=Expr z takim samym wpisemw polu NAME "isPressed" ale wartość podajemy „false”.
9. Cały skrypt powinien wyglądać następująco:

Kod:
on (press) {
    ispressed = true;
}
on (release,releaseOutside) {
    isPressed = false;
}


10. powtarzamy kroki od #5 do #8 dla batona "gora".
Tworzenie skryptu do przewijania tekstu
11. Zaznaczamy batona „dol” i grupujemy go do sprajta (Modify Menu / Grouping / Group as Sprite).
12. Nadajemy sprajtowi unikalną nazwę.
13. Otwieramy skrypt dla tego sprajta i dodajemy akcję OnLoad (Add Script / Events / Frame / OnLoad).
14. Nastepnie podskrypt Name=Expr w polu NAME wpisujemy "isPressed" natomiast w polu wartości "false"
15. Teraz dodajemy kolejny skrypt OnEnterFrame (Add Script / Events / Frame / OnEnterFrame).
16. Dodajemy podksrypt IF (Add Script / Conditional / IF). W polu na dole wpisujemy "isPressed".
17. Teraz dodajemy Name=Expr (Add Script / Statements / Name=Expr). W polu target wybieramy pole tekstowe, do którego jest ładowany tekst, W polu NAME wpisujemy "_y". Zmieniamy operatora z “=(set value)” na "+=(add or plus)" I na dole podajemy wartość o jaką chcemy aby się przesuwało pole tekstowe (polecam w przediale od 2 do 5).
18. Skrypt powinień wyglądać następująco:
Kod:
onLoad () {
    isPressed = false;
}
onEnterFrame() {
    if (isPressed) {
        _parent.tekstmaska.teskt._y += 3;
    }
}



19. Powtarzamy kroki od #11 do #17 dla batona "gora" tylko operator wybieramy "-=(subtract)".
25. Skrypt dla batona w w gore powinien wyglądać następująco:
Kod:
onLoad () {
    isPressed = false;
}
onEnterFrame() {
    if (isPressed) {
        _parent.tekstmaska.teskt._y -= 3;
    }
}





Teraz robimy play i sprawdzamy jak działa.

W załączniku przykład

mis87 - Nie 03 Lip, 2005 09:52

taboon mam pytanie.. w jakiej wersji SWISHa robiles te scrool'e? Ja mam wersje Swish 2.01 Build Date: 2002.12.23 No i niestety nie mam niektorych opcji tych ktore Ty masz.. i w rezultacie nie moge zrobic scrool'a =(

Mam takie jedno jeszcze inne pytanko.. jak zrobić, że po najechaniu button'a z nazwa "O mnie" z obrazka (ktory jest na środku strony) otwiera sie okno (temat był poruszany.. samo okno otwierajace potrafie zrobić, ale czytaj dalej..) i w nim sa informacje o mnie.. nastepnie po najechaniu przyciska np "linki" w tym samym prostokacie(nie zeby ładowac kolejna animacje, tylko zeby w tym samym prostokacie) ladowaly sie Linki?

Mysle ze zrozumiesz o co mi chodzi:)

Pozdrawiam i prosilbym o odpowiedz
Micha;

JuRgEn - Nie 03 Lip, 2005 10:34

Obawiam sie ze tAboon korzysta z :swishmax :
mis87 - Nie 03 Lip, 2005 11:47

Tak, tez mam swish max.. mam Swish 2.0 i Swish Max no i .. i nie moge i tak otworzyc jego projektu :(
tAboon - Nie 03 Lip, 2005 23:20

w podpisie widnieje wersja swisha z jakiej korzystam.

Jeżeli coć Ci nie dziąła po przeprowadzeniu operacji instrukatrzowych popatrz w zakładke DEBUG, barodz często są tam gotowe odpowiedzi tlykot rzeba pomyśleć. Ale jeśli nadal nie jestes w stanie rozwiązac problemu, opisz go prosze troche dokładniej,a coś się wymyśli.
mis87 napisał/a:
Mam takie jedno jeszcze inne pytanko.. jak zrobić, że po najechaniu button'a z nazwa "O mnie" z obrazka (ktory jest na środku strony) otwiera sie okno (temat był poruszany.. samo okno otwierajace potrafie zrobić, ale czytaj dalej..) i w nim sa informacje o mnie.. nastepnie po najechaniu przyciska np "linki" w tym samym prostokacie(nie zeby ładowac kolejna animacje, tylko zeby w tym samym prostokacie) ladowaly sie Linki?

Mysle ze zrozumiesz o co mi chodzi:)
-- obawiam się że nie rozumiem :(
lord_Weiss - Nie 18 Wrz, 2005 21:31

SUper temat tAboon
MaxQuake - Sob 26 Lis, 2005 18:55

sorry ale nie wiem co jest grane robilem wszystko zgodnie z instrukcja ale jest blad... konkretnie to jak nacisne na buttona w gore to on a nie tekst leci w gore to samo jest z buttonem w dol. O co chodzi?
tAboon - Pon 19 Gru, 2005 22:55

pomieszałes najprawdopodobniej odwołania, nie masz odwołania do pola tekstowego a do buttona :| przyjzyj się uważnie
CwaLa - Czw 19 Sty, 2006 19:52

hmm to mozesz spr i mi powiedziec co tam jest nie tak o to link do mojego pliku: http://cwala.ovh.org/swish/Movie1.swi
w swojej pracy samemu ejst najtrudniej znalezc blad z gory dzieki

InLove - Nie 24 Wrz, 2006 21:19

O super!
Dzieki za TOUTRIALA - dziala!
Wielkie dzieki.. "POMOGL" leci dla Ciebie!:*

BaGRoS - Pon 25 Wrz, 2006 23:54

Podepnę się bo to podobne :P
Chciałbym efekt pisania na maszynie, lecz w sposób:
mam pole pow o szerokości:
| |
wpisuje się po kolei:
|Z_ |
|Za_ |
|Zap_ |
do
|Zapisz si_|
i w tym momencie zaczyna się płynnie scrolować w lewo, aby po uzyskaniu miejsca na kolejną literkę pojawiła się
|apisz się_|
|pisz się _|
i tak dalej
na końcu parę spacji aby ładnie zakończyć zdanie i zacząć scrolla od nowa...

Seb - Wto 10 Paź, 2006 13:16

witaj
tAboon,
mozliwe aby jeszcze w tym polu txt działał scroll myszki?
zamiana na dymaniczny text nie daje efektu.. wstukiwałem też

on (press) {
PoleTekstu.Tekst.scroll -= 1;
}
on (rollOver) {
PoleTekstu.Tekst.scroll -= 0;
}
on (keyPress("<Up>")) {
PoleTekstu.Tekst.scroll -= 1;
}

ale to nie o to chodzi:/
mysle ze moze byc to maska i tekst nie jest aktywny przez to..
ale chodzi mi o cel, aby tekst poruszał się tak jak w tym przykładzie, czyli przyciśnięty
baton up/down roluje text
+ to czego tu nie ma- działający scroll myszki
wie ktoś moze jak uzyskać tą ułatwiającą opcję w przykładzie jaki podał tAboon?

pozdrawiam i z góry dziekuję coby nie zaśmiecać forum pustymi kolejnymi wpisami.

seb[/scroll]

stefcio - Wto 10 Paź, 2006 16:03

mozliwe ze jest funkacja na wskazanie scrolla np jest onmousedown niedawno odkrylem:D
Seb - Sro 11 Paź, 2006 01:06

stefcio napisał/a:
np jest onmousedown


gdzie to znajdę :roll: bo nie mogę namierzyć mimo sokolego oka :) ?


Powered by phpBB modified by Przemo © 2003 phpBB Group