Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-06-2005, 12:03   #1 (permalink)
Flashtestdummy
 
Benutzerbild von Alex_R
 
Registriert seit: Mar 2003
Beiträge: 153
Dynamisches Textfeld, frage...

Servus

Kann man bei einem dynamischen Textfeld abfragen, ob der Text über das Textfeld hinausgeht? Also mit einer "true/false" bzw. "0/1" abfrage. Im Sinne von "ist der Text zu lang fürs textfeld? ja => "0", nein => "1""

Sodass ich herausfinden kann, ob meine Scrollbuttons von nöten sind oder nicht. Den wenn der Text nicht scrollen muss, weil er sowieso ganz ins Textfeld passt, brauche ich an der Stelle auch keine Scrollbuttons.

Geht das? Oder geht sowas irgendwie anders?

Danke schonmal
Alex_R ist offline   Mit Zitat antworten
Alt 03-06-2005, 12:19   #2 (permalink)
scriptvermurkser
 
Benutzerbild von SwKy
 
Registriert seit: Apr 2003
Beiträge: 269
Buttons mit

ActionScript:
  1. on (press) {
  2.     interv = setInterval(function () {
  3.         tf.scroll--;
  4.     }, 100);//100 gibt die geschwindigkeit an     
  5. }
  6. on (release, releaseOutside) {
  7.     clearInterval(interv);
  8. }

bzw.

ActionScript:
  1. on (press) {
  2.     interv = setInterval(function () {
  3.         tf.scroll++; //tf ist der Instanzname deines dynamischen Textfeldes
  4.     }, 100);//100 gibt die geschwindigkeit an     
  5. }
  6. on (release, releaseOutside) {
  7.     clearInterval(interv);
  8. }

Die Buttons sind dann aber immer sichtbar, da bräuchtest du noch nen extrascript, wann die Buts sichtbar oder nicht sein sollen.
Einfacher gehts mit der Scrollbar. Guck mal in der Hilfe oder Suche nach der Scrollbar.

grüßchen
SwKy ist offline   Mit Zitat antworten
Alt 03-06-2005, 12:24   #3 (permalink)
Flashtestdummy
 
Benutzerbild von Alex_R
 
Registriert seit: Mar 2003
Beiträge: 153
Buttons die mir meinen Text scrollen habe ich bereits. Ich brauche jetzt nur noch ein script um rauszufinden, ob der Text gescrollt werden muss oder nicht.
Alex_R ist offline   Mit Zitat antworten
Alt 03-06-2005, 12:26   #4 (permalink)
scriptvermurkser
 
Benutzerbild von SwKy
 
Registriert seit: Apr 2003
Beiträge: 269
so was?:

ActionScript:
  1. System.useCodepage=true;
  2. PfeilHoch._visible = false
  3. PfeilRunter._visible = false
  4.    
  5.     tf.text="Lade Daten";
  6.     LadeObj = new LoadVars();
  7.     LadeObj.onLoad = function(success) {
  8.     if(success) {
  9.         tf.htmlText = LadeObj.Textfeld;
  10.         if(tf.textHeight >= tf._height){
  11.                 PfeilHoch._visible = true
  12.                 PfeilRunter._visible = true
  13.                 //trace("Pfeil sollte sichbar sein")
  14.                 }
  15.                 else{
  16.                     PfeilHoch._visible = false
  17.                     PfeilRunter._visible = false
  18.                     //trace("Pfeil sollte unsichbar sein")
  19.                 }
  20.     } else {
  21.     tf.text="Datei nicht gefunden";
  22.     }
  23. }
  24. LadeObj.load("texte/Home.txt");
SwKy ist offline   Mit Zitat antworten
Alt 03-06-2005, 12:33   #5 (permalink)
Flashtestdummy
 
Benutzerbild von Alex_R
 
Registriert seit: Mar 2003
Beiträge: 153
Wenn ich die Höhe meines Textfeldes, bzw. die Höhe des Textes darin trace bekomme ich undefined zurück...

also ich habe das genze mal vereinfacht:
ActionScript:
  1. if (_root.test.textHeight>=_root.test._height)
  2. {
  3.     _root.buttons._visible = true;
  4.    
  5. }
  6. else
  7. {
  8.     _root.buttons._visible = true;
  9. }
Kann ich das so nicht machen?

Geändert von Alex_R (03-06-2005 um 12:41 Uhr)
Alex_R ist offline   Mit Zitat antworten
Alt 03-06-2005, 12:53   #6 (permalink)
scriptvermurkser
 
Benutzerbild von SwKy
 
Registriert seit: Apr 2003
Beiträge: 269
wie liest du den Text und was traced du genau?
SwKy ist offline   Mit Zitat antworten
Alt 03-06-2005, 12:55   #7 (permalink)
Flashtestdummy
 
Benutzerbild von Alex_R
 
Registriert seit: Mar 2003
Beiträge: 153
Mein Textfeld heisst "test":
ActionScript:
  1. _root.test = "lsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajd ";
  2. if (_root.test.textHeight>=_root.test._height)
  3. {
  4.     _root.buttons._visible = true;
  5.    
  6. }
  7. else
  8. {
  9.     _root.buttons._visible = true;
  10. }
  11. trace(_root.test._height)
Alex_R ist offline   Mit Zitat antworten
Alt 03-06-2005, 13:24   #8 (permalink)
scriptvermurkser
 
Benutzerbild von SwKy
 
Registriert seit: Apr 2003
Beiträge: 269
siehst du beim Veröffentlichen überhaupt einen Text?
SwKy ist offline   Mit Zitat antworten
Alt 03-06-2005, 13:29   #9 (permalink)
scriptvermurkser
 
Benutzerbild von SwKy
 
Registriert seit: Apr 2003
Beiträge: 269
ich mit deinem Script nicht, aber so seh ich eins:

ActionScript:
  1. _root.test.text = "lsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajd ";
  2. if (_root.test.textHeight>=_root.test._height)
  3. {
  4.         _root.buttons._visible = true;
  5.        
  6. }
  7. else
  8. {
  9.         _root.buttons._visible = true;
  10. }
  11. trace(_root.test._height)

und dann traced er mir auch die Höhe.
SwKy ist offline   Mit Zitat antworten
Alt 03-06-2005, 14:11   #10 (permalink)
Flashtestdummy
 
Benutzerbild von Alex_R
 
Registriert seit: Mar 2003
Beiträge: 153
Ah, jetzt gehts. Aber ich muss leider die Flashplayerversion 5 Gewährleisten, da gehen instanznamen für textfelder noch nicht.
Alex_R ist offline   Mit Zitat antworten
Alt 03-06-2005, 14:16   #11 (permalink)
flashoholika
 
Benutzerbild von Morshiba
 
Registriert seit: May 2002
Ort: Good old cologne
Beiträge: 118
Code:
buttonvisible = function() {
   trace("mache sichtbar, text ist " + h + " hoch");
}

buttonhide = function() {
   trace("mache unsichtbar, text ist " + h + " hoch");
}

var txt_fmt = new TextFormat();
var meineTexthoehe = 200;
with(txt_fmt) {
   font = "Arial";
   bold = false;
   color = "0x131C35";
}

var anzeigetext:String = "lsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajdlsjdlkja dlkajd ";

var metrics:Object = txt_fmt.getTextExtent(anzeigetext, 300); // 300 ist die max breite des Textfeldes
var h = metrics.height;
trace(h);
h > meineTexthoehe ? buttonvisible() : buttonhide();
du kannst den Text prüfen lassen und auf das Ergebnis reagieren!
__________________
----------------------->
www.morshiba.de
<-----------------------
www.koelnbeben.de
<-----------------------
www.takitasworld.de
----------------------->

AchimX
*die ungelösten Fälle des FF*
Morshiba ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 06:01 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele