Zurück   Flashforum > Alternative Technologien > JavaScript & jQuery

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-08-2011, 17:44   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2005
Beiträge: 151
Mehrdimensionales Array

Hallo, ich habe ein Array-Problem.
Ich zeichne mit Canvas einen viereckigen Button, wobei eine der vier Seiten zufällige Y-Koordinaten hat. Damit ich eine Animation machen kann und die zufälligen Y-Koordinaten nicht neu berechnet werden, will ich sie nach dem erstmaligen erstellen in einem Array abspeichern.

Array für Rubriken. Jedes Array der Rubrik soll wiederrum ein Array vorbereiten:
PHP-Code:
var menu;

function 
drawmenu(){
menu = new Array('Startseite','Preise','Öffnungszeiten','Impressum'); // Array für Menüpunkte
for(var punkt in menu){
 
drawpunkt(menu[punkt]); // Zeichne Menüpunkte
 
menu[punkt] = new Array(); // Array für Y-Koordinaten


Menüpunkte zeichnen und Y-Koordinaten in Array speichern.
PHP-Code:
var erstellt=false// Kontrollvariable

function drawpunkt(punkt){
..
canvas...

if(
erstellt==true){
  for (
x=1;x<=knees;x++){
    var 
randomY menu[punkt][x]; // Y-Koordinaten aus Array lesen
  
}
}else{
  for (
x=1;x<=knees;x++){
    
menu[punkt][x] = randomY// Y-Koordinaten in Array schreiben
    
erstellt=true// Kontrollvariable
  
}
}


Leider kann ich den Fehler nicht finden. Vielen Dank für eure Hilfe.
yaet ist offline   Mit Zitat antworten
Alt 05-08-2011, 18:00   #2 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
Zitat:
Leider kann ich den Fehler nicht finden.
auf Anhieb seh ich auch keinen, gibt es denn einen Fehler?

wenn ja würd mich brennend interessieren zu erfahren, wass für einen. läuft etwas nicht? gibt es Fehlermeldungen? Texte mich ruhig zu, brauchst dich auch nicht zurükzuhalten mit den Infos.

manchmal hilft es sogar zu wissen, wonach man sucht.

aber auf dem zweiten Blick:
Code:
menu[punkt] = new Array()
punkt enthält an der Stelle 1, 2, 3, ... nicht die Namen

Code:
function drawmenu(punkte)
{
	var menu = {};
	for(var i in punkte){
		var punkt = punkte[i];
		menu[punkt] = [];
		drawpunkt(punkt, menu[punkt]);
	}
	return menu;
}

function drawpunkt(name, arr)
{
	var i, randomY, erstellt = arr.length > 0;
	for(i=0; i<knees; ++i){
		if(erstellt){
			randomY = arr[i];
		}else{
			randomY = arr[i] = //...
		}
		//whatever
	}
}
var menu = drawmenu(['Startseite','Preise','Öffnungszeiten','Impressum']);
__________________
greetz Thomas

plz RTFM & Coding Conventions

Geändert von thomas_E (05-08-2011 um 18:56 Uhr)
thomas_E ist offline   Mit Zitat antworten
Alt 05-08-2011, 18:56   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2005
Beiträge: 151
Die Kontrollvariable ist nun ein neuer Fehler, die darf erst nach dem letzten erstellen Menüpunkt auf false gestellt werden. Sprich, alle Menüpunkte in einem Canvas erstellen und Y-Koordinaten im new Array[menüpunkt][y-koordinaten] abspeichern um bei erneuter Canvas-bearbeitung abrufbar zu sein.

PHP-Code:
var erstellt 0;

if (
erstellt==menu.length){
...
}else{
erstellt+=1;

Trotzdem funktioniert es nicht das Y-Koordinaten-Array zu beschreiben. Das Script ist schon auf die Interessanten Stellen reduziert und er führt das Script einfach nicht aus. Aber so kann man doch ein Array global beschreiben oder?:

Zitat:
var menu;
function a(){
menu= new Array('a','b','c');
for (var punkt in menu){
b(menu[punkt])
}
}

function b(punkt){
for(x=1;x<=5,x++){
var randomY = Math.random()*10;
menu[punkt][x] = randomY;
}
}
yaet ist offline   Mit Zitat antworten
Alt 05-08-2011, 19:17   #4 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Mir ist nicht so ganz klar, was Dein Code da erreichen soll, aber in der Zweiten Funktion nimmst Du z.Z. den im Array gespeicherten Wert und nicht den Index.

Sollte es nicht eher so aus sehen?
PHP-Code:
var menu;
function 
a(){
    
menu = ['a''b''c'];
    for (var 
i in menu){
        
b(i);
    }
}

function 
b(i) {
    
menu[i] = [];
    for var 
1<= 5x++) {
        
menu[i][x] = Math.random()*10;
    }

Wenn es das ist was Du tun möchtest, würde ich es aber eher so aufbauen:
PHP-Code:
var menu;
function 
a(){
    
menu = ['a''b''c'];
    for (var 
i in menu){
        
menu[i] = b();
    }
}

function 
b() {
    
= [];
    for (var 
1<= 5i++) {
        
a[i] = Math.random()*10;
    }
    return 
a;

__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!

Geändert von Martin Kraft (05-08-2011 um 19:20 Uhr)
Martin Kraft 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mehrdimensionales Array :: RK :: JavaScript & jQuery 7 11-12-2007 23:14
mehrdimensionales Array axeff ActionScript 1 6 14-05-2004 12:50
mehrdimensionales Array ingohill ActionScript 1 3 24-03-2004 13:07
mehrdimensionales Array drive68 ActionScript 1 9 08-08-2003 12:53
Mehrdimensionales Array yepps ActionScript 1 3 13-11-2002 11:57


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:11 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele