Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 26

Thema: Item Scroll System...

  1. #1

    Item Scroll System...

    Hai ich bastel mal wieder an meinem Menü rum und Wollte
    eine Scrool funktion einbauen Anfangs hatte ich ein Bild mit einer Auflistung aller Item's das nach oben bzw. nach unten geschoben wird nun zumal das Bild doch schon recht groß geworden ist gefällt mir die Sache aber nicht mehr gibt es eine Alternative?

    Ich dachte da an eine Scroolfunktion wie in Lufia in dem ich einfach einen Teil der Items anzeige und diese dann nach dem Scroolen immer eine andere Itemliste anzeigt.

    So ich habe mir mal eine Technik von Goblindieb angeschaut leider makert er zur Zeit nicht selbst aber nach absprache mit ihm stelle ich diese mal öffentlich:





    Sieht leider noch verwirrender aus...

    Hier werden ja immer 6 Items angezeigt diese werden dann als Pic anzeiget und dann die Variabel Itemcounter + 1 gesetzt also nächste Liste danach folgen die anderen Items in alphabetischer Rheienfolge.

    Hier muss ich dann nur darauf achten das ich alle Items Abfrage (recht aufwendig) bsp. wenn es 1000 Items' gibt müsste ich alle Item's von 1-1000 abfragen.

    So nun wollte ich euch fragen wie ihr dies noch einfacher gestalten würdet?

    Da ich leider mit meinem latein am Ende bin Bitte ich um Hilfe!

    EDIT:
    Goblindieb ist Bereit mir später ein Tut zu seiner Technik zu schicken dies werde ich dann hier Posten!

    Lg
    Multi-Master1988

    Geändert von Multi-Master1988 (29.08.2010 um 17:08 Uhr)

  2. #2
    Der Code sieht so im Forum nicht gut aus.

    Bitte klicke im EasyEventExporter beim Importieren auf "Ja" und wähle die Datei "vbcode_lightbg.eft" im Ordner "ftemplates", dann wird der Code im Forum ordentlich dargestellt und farblich gehighlighted.

  3. #3
    @ Cherry

    Hab jetzt einfach beide Varianten gepostet...

    Ausserdem möchte ich euch das Scroolmenü noch ein wenig näher
    erläutern es sollen insgesamt ca. 80 Items dort intregiert werden.

    Leider klingt das ziemlich viel für mich da ich hier eine Bedingung für das an ersterstelle liegende aktuelle Item benötige und dann alle anderen.

    Ich habe mal nachgrerechnet wenn ich den Code von
    Goblindieb so übernehmen würde müsste ich:

    80 * 80 = 6400
    Bedingungen einbauen!

    Und 80 Items klingt doch noch recht wenig...

    Gibt es eine Alternative?
    (Hoffe ihr versteht worauf ich hinaus will )

    Geändert von Multi-Master1988 (30.08.2010 um 20:12 Uhr)

  4. #4
    Du hast in deinem Code 2 Probleme,
    1. Du benutzt die Items aus der Datenbank. Lass das, mach deine Items gleich als Variablen, dann kannst du Zeiger verwenden (Variable No.) und Code automatisieren
    2. Du musst im Moment jedes Bild einzeln anzeigen lassen. Setz dich mal mit dem Picture Pointer Patch von Cherry auseinander, denn genau für solche Probleme ist der gut
    Wenn die zwei Punkte beseitigt sind, müsstest du den Code nur einmal schreiben während ein Zeiger hochläuft (wenn dir "Zeiger" oder "Variable No." nichts sagt, probier mal aus, was Variable No. in Change Variable so macht )

  5. #5
    @ Dhan

    Vergiss bitte nicht die Technik ist nicht von Mir...
    Sondern von Goblindieb (chatte grad mit ICQ mit ihm).

    Und ich weiß was du mit Variablenummer meinst
    trotzdem hätte ich gerne Intresse an einem Bsp.
    als Script. bzw. Goblindieb...

    Lg
    Multi-Master

  6. #6
    Zitat Zitat von Multi-Master1988 Beitrag anzeigen
    Vergiss bitte nicht die Technik ist nicht von Mir...
    Wichtig: Auch übernommene Skripte musst du 100%ig verstehen, sonst sind sie wertlos sobald du modifizieren willst
    Zitat Zitat
    Und ich weiß was du mit Variablenummer meinst

    Hier isses ausgewählt, das sind das, was man in der Informatik "Zeiger" nennt, eine Variable, die die Nummer (bzw Adresse) einer anderen Variable speichert.

    Ein Beispiel:
    Du hast deine Items in Variablen gespeichert, nämlich in den Variablen Nummer 1000 bis 1999 und willst jetzt rausfinden, ob der Held irgendein beliebiges Item besitzt.
    Eine Möglichkeit wäre:

    fork (Variable #1000 ungleich 0?) {Change Switch Ja ON}
    fork (Variable #1001 ungleich 0?) {Change Switch Ja ON}
    fork (Variable #1002 ungleich 0?) {Change Switch Ja ON}
    fork (Variable #1003 ungleich 0?) {Change Switch Ja ON}
    ...

    aber ich bezweifle einfach mal, dass du wirklich 1000 Abfragen schreiben willst.
    Informatik dreht sich darum, sogenannte "Redundanzen" zu vermeiden, das heißt Unnötiges, Code, bei dem es sich vermeiden ließe, ihn zu schreiben

    Hierfür wäre die Lösung mit einem Zeiger folgende:

    Variable #1 = 1000
    Cycle {
    __fork (Variable #1 = 2000) { Break Cycle }
    __fork (Variable No #1 ungleich 0?) {
    ____Change Switch Ja ON
    ____Break Cycle
    __}
    __Variable #1 += 1
    }

    Was du hier machst, ist den Zeiger, Variable #1, erst auf 1000 zu setzen (die Nummer der ersten zu prüfenden Variable) und dann immer zu schauen:
    "Hat die Variable mit der in Variable #1 gespeicherten Nummer einen Wert ungleich 0?" und solange das nicht der Fall ist, erhöhst du Variable #1 immer um 1 und fragst so eben alle 1000 Variablen ab

    (in Java isses witzig, da gibts nämlich ausschließlich Zeiger, sprich alle Variablen sind Zeiger ^^)

  7. #7
    @ Dahn

    Zitat Zitat
    Wichtig: Auch übernommene Skripte musst du 100%ig verstehen, sonst sind sie wertlos sobald du modifizieren willst
    Ich verstehe den Code 100% schließlich habe ich mindestens 3 Jahre mit ihm gamakert...

    Ist Schließlich in Real mein Cousi/Bester Kumpel...

    Edit:
    Und dein Script werde ich mir nochmal genauer anschauen Nice ;-)

    Lg
    Multi-Master1988

  8. #8
    @Dhan

    Seh ich das richtig, das bei dir im Extremfall 1000 mal wiederholt wird? das ist ein bisschen Overhead für ein Scrollmenü.

    Es geht viel leichter, wenn du den PicPointer von Cherry hast imho, dadurch hast du die Möglichkeit so ein "scrollen" (eigentlich ist es eher mit Karteikarten zu vergleichen, scrollen kann man aber genau so realisieren, da es nur eine anderen Tastenabfrage ist).

    Schau dir als Vergleich doch mal das System von Velsabor oder Phönix Memories of Shadows an. Dort wurde es ohne Patches gemacht. Mit dem PicPointer-Patch, hast du den Vorteil alles in einem relativ kleinem Event zu machen. Ich hab dazu hier irgendwo im Forum mal eine Erklärung gemacht aber Gott weiß wo D:

    Edit:
    Okay, habs gefunden xD da : Erklärung mit PicPointer

    Geändert von R.D. (31.08.2010 um 11:37 Uhr)

  9. #9
    @ R.D.

    Guter Leserlicher Code werd mich mal tiefer mit beschaffen...
    Danke...


    @ An alle:

    Das is bei allen Codevarianten nicht einfach wird ist klar...
    Nur was mich stuzig macht wieso ruft ihr die Items über Variabeln ab?

    Obwohl es genau so gut über die Database geht...
    Odr legt ihr diese so fest damit ihr überhaupt das mit dem Patch vereinen könnt?

    EDIT.
    Hab jetzt doch den Sinn dahinter verstanden...Sorry...!

    Geändert von Multi-Master1988 (31.08.2010 um 14:40 Uhr)

  10. #10
    1. Ich heiße R.D.
    2. Ich rufe nur die Anzahl eines Items über Variablen ab, bei mir kannst du immer nicht fröhlich in der Datenbank deine Items machen ,was VIEL besser ist da du dort viele Einstellungen hast, die du mit einer Vari pro Item nicht lösen kannst.

  11. #11
    Zitat Zitat von R.D. Beitrag anzeigen
    @Dhan
    Seh ich das richtig, das bei dir im Extremfall 1000 mal wiederholt wird? das ist ein bisschen Overhead für ein Scrollmenü.
    Jung, das is kein Skript, das is eine Erklärung.
    Und ja, für die Aufgabe, die der Code in der Erklärung arbeitet, gibt es keinen schnelleren Code, abgesehen von für den isolierten Fall nicht anwendbares Preprocessing.
    Was der Picture Pointer Patch in einem Beispiel soll, das mit Pictures überhaupt nix zu tun hat, musst du mir mal erklären.




    Zu deinem Tuto, ich würd dir empfehlen, da vorher erstmal reinzustellen, wie das Ding generell arbeitet (prosaisch) bevor du mit Code oder der Benennung von Variablen anfängst. N Flussdiagramm wär z.B. sinnvoll.
    Technische Frage, wozu machst du das mim Modulo statt einfach 2 Varis pro Einheit anzulegen? Im Thread isses eine Erklärung mehr die vom eigentlichen Skript ablenkt

    Geändert von Dhan (31.08.2010 um 16:38 Uhr)

  12. #12
    Ich hab nicht behauptet das es ein Script ist Ich hab dir nur eine Frage gestellt.

    Zitat Zitat
    Zu deinem Tuto, ich würd dir empfehlen, da vorher erstmal reinzustellen, wie das Ding generell arbeitet (prosaisch) bevor du mit Code oder der Benennung von Variablen anfängst. N Flussdiagramm wär z.B. sinnvoll.
    Das ist kein Tutorial, sonder eine Erklärung die im passenden Thread gebraucht wurde.
    In eben jenen ging es um ein Menü bei dem man pro Seite eine Anzahl X Items anzeigt und Items die eine höhre ID haben werden rangerückt. Beim nächsten Mal poste ich den ganzen Thread.

    Zitat Zitat
    Was der Picture Pointer Patch in einem Beispiel soll, das mit Pictures überhaupt nix zu tun hat, musst du mir mal erklären.
    Was du da geschrieben hast, hab ich mir gar nicht durchgelesen Hab nur unten das mit dem viele Schleifen gesehen.
    Ich wollte nur eine Hilfe für den jungen Padawan geben, genau wie du
    Schaus dir mal genau an, dann siehst du das man ohne diesen Patch die Ordner IDs, die die Position setzt und somit auch die Bild ID , nicht pointen kann sondern jedes mal mit Forks arbeiten muss, ich hatte keine Lust für 500 Items bei einem Menü mit jemals 8 Items pro Seite, 8 Abfragen pro Item zu machen (das müsste ich, weil ich ja die Items ja rangerückt werden sollen).

    Zitat Zitat
    Technische Frage, wozu machst du das mim Modulo statt einfach 2 Varis pro Einheit anzulegen? Im Thread isses eine Erklärung mehr die vom eigentlichen Skript ablenkt.
    Gegenfrage, warum nicht? Warum 16 Variablen wenn 8 reichen? Das ist doch Verschwendung und als Programmierer hab ich gelernt, das man das unterlassen sollte (Ist ja nicht so, das ultra komplex is gel?). Und ich sehe nicht wie ein Exkurs ablenkt... hab ich in der Schule auch oft gehabt und hat nicht sonderlich abgelenkt.

    Ein Scollleiste kann man bei diesem System einfach hinzufügen, ich nutze es in jedem meiner Spiele wenn ich ein Ordnersystem brauch.

    P.S. Ich bin nicht gut im Erklären, habs auch nie behauptet daher kann es schon sein das vieles kompliziert klingt.

  13. #13
    Zitat Zitat von R.D. Beitrag anzeigen
    Ich hab nicht behauptet das es ein Script ist Ich hab dir nur eine Frage gestellt.
    Jä, aber eine Frage, deren Sinn ich nicht verstehe. Wenn man prüfen will, ob in 1000 Varis eine nicht 0 ist muss man im worst case alle Varis durchtesten. Schneller als O(n) benötigt Preprocessing.
    Zitat Zitat
    Was du da geschrieben hast, hab ich mir gar nicht durchgelesen
    o.O
    Zitat Zitat
    Schaus dir mal genau an, dann siehst du das man ohne diesen Patch die Ordner IDs, die die Position setzt und somit auch die Bild ID , nicht pointen kann sondern jedes mal mit Forks arbeiten muss, ich hatte keine Lust für 500 Items bei einem Menü mit jemals 8 Items pro Seite, 8 Abfragen pro Item zu machen (das müsste ich, weil ich ja die Items ja rangerückt werden sollen).
    Jo, aber wie ich bereits sagte, in meinem Code kommen keine Pictures vor.
    Zitat Zitat
    Gegenfrage, warum nicht? Warum 16 Variablen wenn 8 reichen? Das ist doch Verschwendung und als Programmierer hab ich gelernt, das man das unterlassen sollte
    Ne, als Programmierer geht man davon aus, dass Speicherplatz im Rahmen solcher kleiner Skripte praktisch unbegrenzt vorhanden ist und achtet auf Geschwindigkeit und Übersicht
    Zitat Zitat
    (Ist ja nicht so, das ultra komplex is gel?). Und ich sehe nicht wie ein Exkurs ablenkt... hab ich in der Schule auch oft gehabt und hat nicht sonderlich abgelenkt.
    Er lenkt ganz einfach dadurch ab, dass du noch erklären musst, was der Modulo-Operator tut. Wissen serviert man in kleinen Häppchen.

  14. #14
    Zitat Zitat von Dhan Beitrag anzeigen
    Jä, aber eine Frage, deren Sinn ich nicht verstehe. Wenn man prüfen will, ob in 1000 Varis eine nicht 0 ist muss man im worst case alle Varis durchtesten. Schneller als O(n) benötigt Preprocessing.
    Zitat Zitat
    Jo, aber wie ich bereits sagte, in meinem Code kommen keine Pictures vor.
    Wie gesagt, ich wollte gar nicht irgendwas mit deinem Post machen oder kritisieren, nur wissen ob das nicht Overhead ist (als Erklärung eben).
    Hab extra ne Zeiel freigelassen zwischen dieser Frage und meinen Gedanken zum Problem.

    Zitat Zitat
    Ne, als Programmierer geht man davon aus, dass Speicherplatz im Rahmen solcher kleiner Skripte praktisch unbegrenzt vorhanden ist und achtet auf Geschwindigkeit und Übersicht.
    Ich nehm an das ist lieht im ermessen das Programmierers. ICH für meine Teil, achte auf so was ob kleines Programm/script oder Großes. Du nicht, cool

    Zitat Zitat
    Er lenkt ganz einfach dadurch ab, dass du noch erklären musst, was der Modulo-Operator tut. Wissen serviert man in kleinen Häppchen.
    ... is okay.

  15. #15
    So ich misch mich jetzt mal mit ein und schmeiß mal
    ein thread mit rein in dem der Modolopperator erklärt wird:

    http://multimediaxis.net/showthread.php?t=128306

    Ich glaube makenshi hat es sehr schön erklärt (ist auf jedenfall für mich verständlicher geworden!)

    Zudem habe ich eine Frage gibt es den PicPictureEventer auch auf Deutsch mein Englisch ist nämlich Mist!

  16. #16
    Englisch wirst du brauchen - und da es Fachterme sind, dürfte es hier nicht sehr problematisch sein.


    Aber trotzdem, lern englisch, und zwar bevorzugt aus Medien (Bücher, Serien - is doch recht praktisch, dass z.B. South Park 100% legal im Netz in englisch anschaubar ist)

  17. #17
    Zitat Zitat von Multi-Master1988 Beitrag anzeigen
    Zudem habe ich eine Frage gibt es den PicPictureEventer auch auf Deutsch mein Englisch ist nämlich Mist!
    Äh, der PicPointerPatch hat sowohl eine deutsche als auch eine englische Erklärung dabei...!

  18. #18
    Zitat Zitat von Cherry Beitrag anzeigen
    Äh, der PicPointerPatch hat sowohl eine deutsche als auch eine englische Erklärung dabei...!
    Ha...!
    Hab sie jetzt erst gefunden trotzdem Danke für den Hinweis...
    Sollte nicht gleich alles sofort in einen anderen Ordner verschieben xD

    Edit:

    So habe hier mal die Lufia (Menü) Version von Goblindieb
    Vielleicht könnt ihr ja was daran verändern und mir dann noch einmal eure Codes verständlicher machen...

    http://www.npshare.de/files/c912907e/Lufia.rar

    Zudem beinhaltet es die Original Tasten des Snes-Emulator (siehe Lufia 2)...
    Also mann kann sich auf einer Stelle bewegen...

    Ausserdem befindet sich auch der Anfang eines SKS dort soweit ich weiß...

    Geändert von Multi-Master1988 (31.08.2010 um 21:24 Uhr)

  19. #19
    Nutze den Unterbau hier (Komplettes Teil bei I.), damit lässt sich die Anzahl der Fork-Conditions auf genau die Anzahl der abgefragten Items verringern (also 80 statt 6400).

    PS: Ich hatte das Problem auch, aber nur bei 20 Items, heißt also ich bräuchte 1540 Fork-Conditions dafür. Das ist die Summe von (maximale Anzahl der Items + 1 - n) mal n, wobei n von 1 bis die maximale Anzahl geht.
    Einige werden das als sum((nmax+1-n)*n,n,1,nmax) besser verstehen.
    Für 80 Items braucht man schon 88560 Fork-Conditions, statt 6400.

    Geändert von niR-kun (31.08.2010 um 22:26 Uhr)

  20. #20
    So werd mich später damit tiefer befassen aber wie bist
    du auf diese Zahl gekommen (88560) jedesmal wenn ich das
    durchrechne bekomme ich weitaus weniger raus...

    Kannst du deine Rechnung mal Ohne Klammern aufführen??

    Lg
    Multi-Master1988

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •