| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Give me a gun! Registriert seit: Jan 2002 Ort: Berlin
Beiträge: 141
| Array auslesen wiedermal
hallo, ich möchte eine Zeichnung per PHP abspeichern. Das klappt auch schon ganz gut. Allerdings sieht die Zeichnung nach dem Auslesen aus der txt-Datei etwas verändert aus. Es wird eine Verbindungslinie eingezeichnet, wo man beim Zeichnen "den Stift abgesetzt hat". Ich glaube, mit lineTo und moveTo stimmt was nicht. Ich weiss nicht, wo der Fehler liegt. Kenne mich nicht gut mit PHP aus. Code: //-------------------------------------------------//
// ZEICHENEBENE //
//-------------------------------------------------//
//Zeichenebene erstellen
function createPaintArea(){
this.createEmptyMovieClip("pa",0);
pa.lineStyle(1.8,0x000000,100);
//Mausklick -> moveTo -> Beginn der Zeichnung
pa.onMouseDown = function(){
xcoords.push(this._xmouse);
ycoords.push(this._ymouse);
zinfo.push(false);
this.moveTo(this._xmouse,this._ymouse);
isPainting = true;
}
//Mausbewegung -> zeichnen
pa.onMouseMove = function(){
if(isPainting){
xcoords.push(this._xmouse);
ycoords.push(this._ymouse);
zinfo.push(true);
this.lineTo(this._xmouse,this._ymouse);
}
}
//Ende der Zeichnung
pa.onMouseUp = function(){
isPainting = false;
}
}
//-------------------------------------------------//
// ZEICHENFUNKTIONEN //
//-------------------------------------------------//
//Bild wiederherstellen
function repaint(){
pa.lineStyle(1.8,0x000000,100);
for(var i = 0; i<xcoords.length; i++){
if(zinfo[i])
pa.lineTo(xcoords[i],ycoords[i]);
else
pa.moveTo(xcoords[i],ycoords[i]);
}
}
//-------------------------------------------------//
// SPEICHERN/LADEN //
//-------------------------------------------------//
function sendToPHP(){
lv = new LoadVars();
lv.x = xcoords.join(",");
lv.y = ycoords.join(",");
lv.z = zinfo.join(",");
lv.sendAndLoad("savePainting.php",lv,"POST");
}
function loadFromPHP(id){
lv = new LoadVars();
lv.id = id;
lv.sendAndLoad("loadPainting.php",lv,"POST");
lv.onLoad = function(success){
if(success){
xcoords = lv.x.split(",");
ycoords = lv.y.split(",");
zinfo = lv.z.split(",");
repaint();
}
}
} Speichern PHP-Code: PHP-Code: Ich würde mich freuen, wenn mir jemand weiterhelfen kann. Buscemi |
| | |
| | #3 (permalink) |
| Give me a gun! Registriert seit: Jan 2002 Ort: Berlin
Beiträge: 141
|
Okay, es scheint doch nicht am PHP zu liegen. Die gespeicherten Daten werden korrekt an Flash übergeben. Code: function loadFromPHP(id){
lv = new LoadVars();
lv.id = id;
lv.sendAndLoad("loadPainting.php",lv,"POST");
lv.onLoad = function(success){
if(success){
xcoords = lv.x.split(",");
ycoords = lv.y.split(",");
zinfo = lv.z.split(",");
checko = zinfo[0];
repaint();
}
}
} Code: function repaint(){
pa.lineStyle(1,0x000000,100);
for(var i = 0; i<xcoords.length; i++){
if(zinfo[i])
pa.lineTo(xcoords[i],ycoords[i]);
else
pa.moveTo(xcoords[i],ycoords[i]);
}
} |
| | |
| | #4 (permalink) |
| will code HTML for food Registriert seit: Mar 2003
Beiträge: 1.232
|
Moin Buscemi, aus dem Script das Du gepostet hast, lässt sich kein Fehler erkennen. Deshalb nur als Tipp: MEHR TRACEN!! Eine Vermutung wär, daß hier bei "if(zinfo[i])" ein falscher Wert ankommt oder, daß eine Draw Schleife zweimal durchlaufen wird, oder Koordinaten doppelt vorhanden sind.... Bis dann, querkopf Edit: grad' fällt mir was auf: "checko = zinfo[0];" erwartest Du da ein Array aus Nullen und Einsen (=> Zahlen)? Da steht nämlich eine Array aus Strings drin. Somit wär' Deine "if(zinfo[i])" immer true! Es sei denn Du änderst die Abfrage zB in "if(zinfo[i] == "1")" oder sowas...
__________________ Alles ist wie immer. Nur schlimmer. Geändert von querkopf (16-01-2007 um 11:11 Uhr) |
| | |
| | #5 (permalink) |
| * do iT OOP * Registriert seit: Jul 2006
Beiträge: 330
|
Das sieht so aus als wenn da ein moveTo am Anfang fehlt, hab mir jetzt bloß die Zeichnung angesehen aber startest du mit dem Zeichnen auch am richtigen Fleck ?
__________________ Das Geheimnis der Kreativität ist es zu wissen wie du deine Quellen verbirgst The secret to creativity is knowing how to hide your sources. Albert Einstein - Genius |
| | |
| | #6 (permalink) |
| Give me a gun! Registriert seit: Jan 2002 Ort: Berlin
Beiträge: 141
|
Juchuu!! Vielen Dank querkopf! In dem array zinfo steht immer false oder true drin. Hab ihn jetzt in Nullen und Einsen umgeändert. Und jetzt funzt es super! In einem Array dürfen wohl nur Zahlen drin stehen? Uiui |
| | |
| | #7 (permalink) |
| will code HTML for food Registriert seit: Mar 2003
Beiträge: 1.232
|
nein, in einem Array darf alles drin stehen. Aber wenn Du die Werte aus php geladen hast sind sie alle Strings und nicht Boolean (was Du in der IF abgefragt hast). Oder um es anders zu formulieren PHP-Code: querkopf
__________________ Alles ist wie immer. Nur schlimmer. |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |