sinus kurve zeichnen-punkte in einer list speichern

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • sinus kurve zeichnen-punkte in einer list speichern

    hallo zusammen

    wie mein thema schon verrät hab ich mit lists herrum experimetiert. ich wollte eine sinus kurve zeichnen lassen, bei der die berechneten punkte in einer list gespeichert werden.....irgendwie seh ich die kurve überhaupt nicht :(

    hier mein code:

    create:

    GML-Quellcode

    1. var global.xx=0;
    2. var global.yy=0;
    3. var global.liste=0;
    4. global.liste=ds_list_create();
    5. ds_list_add(global.liste,global.xx+20);
    6. ds_list_add(global.liste,global.yy+200);
    7. ds_list_add(global.liste,global.xx+20);
    8. ds_list_add(global.liste,global.yy+500);


    step:

    GML-Quellcode

    1. global.xx+=pi/30;
    2. global.yy=sin(global.xx);
    3. ds_list_add(global.liste,(global.xx+20));
    4. ds_list_add(global.liste,(global.yy*3+500));


    draw:

    GML-Quellcode

    1. var a,b,c,d;
    2. for(i=0;i<=ds_list_size(global.liste);i+=2)
    3. {
    4. a=ds_list_find_index(global.liste,i);
    5. b=ds_list_find_index(global.liste,(i+1));
    6. c=ds_list_find_index(global.liste,(i+2));
    7. d=ds_list_find_index(global.liste,(i+3));
    8. draw_line(a,b,c,d);
    9. draw_point(20,200);
    10. }
    Alles anzeigen


    wo liegt mein problem?
    datei ist auch im anhang zu finden
    Dateien
    • sinus_problem.rar

      (10,42 kB, 160 mal heruntergeladen, zuletzt: )
  • Versuch es mal im Draw event mit

    GML-Quellcode

    1. a=ds_list_find_value(global.liste,i);
    2. b=ds_list_find_value(global.liste,(i+1));
    3. c=ds_list_find_value(global.liste,(i+2));
    4. d=ds_list_find_value(global.liste,(i+3));


    Spoiler anzeigen

    edit: der ganze code also:

    GML-Quellcode

    1. var a,b,c,d;
    2. for(i=0;i<=ds_list_size(global.liste);i+=2)
    3. {
    4. a=ds_list_find_value(global.liste,i);
    5. b=ds_list_find_value(global.liste,(i+1));
    6. c=ds_list_find_value(global.liste,(i+2));
    7. d=ds_list_find_value(global.liste,(i+3));
    8. draw_line(a,b,c,d);
    9. draw_point(20,200);
    10. }
    Alles anzeigen


    anstatt das du den index suchst ;)

    edit: denn mit den andere, was du vorher benutzt hast, ds_list_find_index, sucht man nach den index, mit einer vorhandenen value, mit ds_list_find_value suchst du nach einer value, mit einen vorhandenen index.

    Mfg.,
    Metalknight