• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Konstruktor und Pfadangeaben aus externer Datei lesen

du hast die geschweiften Klammern (also den Block) für das if vergessen

Oh mei - eigentlich ohne Worte :rolleyes: Danke!!!

Doch es will irgendwie trotzdem nicht so klappen wie gedacht.

Ich setze jetzt path folgendermaßen:
Code:
if (typeof array.temp != "undefined") {
    array.path = circle(array.temp.x, array.temp.y, array.temp.r); 
    console.log("YEAH! array.temp vorhanden - path= " + typeof array.path); // string
 }

So gebe ich doch path den selben Wert welchen es sonst auch bekommen hat mit circle(x,y,r) innerhalb von initCanvas() - oben im Beitrag #36. Es sind identische Werte und ein String.

Doch es läuft nicht ... hmm wird nicht langweilig
 
Zuletzt bearbeitet:
So! Hab den Grund gefunden = nächste Baustelle.

Und zwar sind es Werte wie diese:
Code:
Javascript:
{ ... align: txt.PathAlign.Center, .. } [COLOR="#008000"]// so muss es aussehen[/COLOR]

JSON:
{ ... "align": "txt.PathAlign.Center", ... } [COLOR="#FF0000"]// = String und wird nicht angewendet[/COLOR]

Bringt es da etwas wenn man mit valueOf() arbeitet?

Denn im Prinzip hab ich hier ja immer das selbe Problem dass ich Werte/Eigenschaften als String vorliegen habe, welche ich eigentlich als Zugriff auf bestimmte Objekte im dot-syntax brauche.

- - - Aktualisiert - - -

P.S
Versuch mit valueOf() bringt nichts - zumindest bei meinem Versuch.

- - - Aktualisiert - - -

Neue Spur aufgenommen mit split() und reduce() ...
 
Zuletzt bearbeitet:
Bringt es da etwas wenn man mit valueOf() arbeitet?
Nein.

Denn im Prinzip hab ich hier ja immer das selbe Problem dass ich Werte/Eigenschaften als String vorliegen habe, welche ich eigentlich als Zugriff auf bestimmte Objekte im dot-syntax brauche.
Und genau das ist dein Design-/Denkfehler. In JSON kannst du auf nicht referenzieren.

Warum wilst da das überhaupt machen? Was steht denn in txt.PathAlign.Center drin?
 
Warum wilst da das überhaupt machen? Was steht denn in txt.PathAlign.Center drin?
Ich habe im CANVAS-Element Texte auf Pfade zu platzieren. Die Pfade werden im "Move-To" Format in path angegeben und align: txt.PathAlign.Center sagt meinem Text er soll sich auf diesem Pfad zentriert/links- oder rechtsbündig verhalten. Für den Text verwende ich die JS-Bibliothek txt.js -> Hier ein Beispiel. So siehts in der Klasse aus:
Code:
export class PathText extends createjs.Container {    
       ...
        align:PathAlign = txt.PathAlign.Center; [COLOR="#008000"]// muss ich das dann überhaupt noch explizit angeben, wenn Center gewünscht ??[/COLOR]
       ...
Und hier die ganze Klasse aus der Dokumentation .

Das CANVAS Element zeiget eine Art Wappen mit Texten - diese Texte kann der User via Texteingabefelder ändern und bei jeder Änderung wird die initCanvas() aufgerufen.

Und genau das ist dein Design-/Denkfehler. In JSON kannst du auf nicht referenzieren.
Das weiß ich - das Dilemma ist nur mir fällt als Anfänger eben JSON ein und versuche es dann passend hinzuklopfen...ein klassischer Folgefehler

Da ich ca. 10 verschiedene Wappen habe und ich auch mal neue hinzufüge/ändere sowie z.b Sommer andere anzeige als im Winter, möchte ich alle nötigen "Angaben" für die CANVAS-ELEMENTE datumsabhängig extern laden -> und hier fällt mir als Anfäger eben JSON ein.

Was würdest Du vorschlagen sowas zu laden / lösen ? ( also auch für Anfänger machbar - lösen :rolleyes: )
 
Zuletzt bearbeitet:
Ich würde in diesem Fall einfach im JSON den String "Center" speichern und dann an der Stelle, wo es verwendet wird, die Referenzierung durchführen. Also in etwa so:
Code:
var data = JSON.parse("{\"align\": \"Center\"}");
var align = txt.PathAlign[data.align];
 
Zurück
Oben