Steuerungs Probleme! Umgeschrieben in Code!

  • GM 8

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

  • Steuerungs Probleme! Umgeschrieben in Code!

    Moin =)

    Bin jetzt doch endlich Angemeldet lange habe ich mich so Durchgeschlagen und via Internet und YT Hilfen gefunden. Doch jetzt bin ich mit den Latein am ende und hoffe auf Hilfe =) . Und zwar habe ich 2-3 Kleine Probleme, mein Projekt ist ein Plattform Spiel in Frischen Design für Tablet. Alles Funktioniert bis jetzt auch so wie ich es möchte, doch immer wenn ich eine Münze einsammle habe ich das Problem das es eine Art zucken ist also es Stock 0,02ms oder so . Schwer zu beschreiben nicht das Spiel sondern die Figur als wenn sie gegen eine unsichtbare Hürde läuft.

    Dann zu mein anderen Problem wenn ich mit meinen Player / Spieler von unten an mit UP+(Rechts o. Links) Springe dann Stuck er sich fest und fällt erst runter wenn ich Links o. Rechts drücke, habe den Spieler nicht Solid gemacht und auch Solid und Precison Collision schon ausgemacht, doch nichts brachte Erfolg. Ich Arbeite GM8+Android würde mich sehr über Hilfe und Rat freuen!

    ein kleines Sub Problem ich habe Plattformen die sich von Links nach Rechts bewegen da drauf laufen und stehen ist kein Problem, doch ich möchte gerne das er drauf stehen bleibt, da drauf hin habe ich ein Tutorial auch aus diesen Forum gefunden doch wirklich Funktionieren möchte es nicht :/


    Hoffe um Rat und Hilfe auf Wunsch mache ich gerne ein Short Video von den Problemen.

    Lieben Gruß

    "EDIT" Habe mal die Überschrift unbenannt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von xxwusaxx ()

  • Das mit dem Ruckeln habe ich auch manchmal. Ich denke, dass liegt am Kollisions-Event, weil er dann ja schnell den Code ausführt und es so zu Rucklern kommt.
    GML lernen geht leicht :)
    1. http://www.gm-d.de/help/ (deutsch)
    2. gm-d.de/wbb/index.php/Thread/2270/ (Einsteiger-Referenz)
    3. docs.yoyogames.com/ (Hilfe auf Englisch von GM:S)
  • Das Problem habe ich Gelöst :) Funktioniert nun Suppi nach 4 Stunden Dummheit! Hatte was Falsches Solid gemacht!

    Eine andere frage um kein neuen Thread auf zumachen, ich habe ein Jump Pad dieses hat 3 Bilder unten,mitte,hoch doch ich bekomme es nicht hin das die Animation aufhört! Das macht mich kirre, ich habe ein Collsions Check Event,

    Ist der ensteht eine Collision mit den Player dann setz Image_Speed=0.4
    else
    Ist kein Player in Collision mit der Plattform dann setzt Image_Speed=0

    Doch mach ich es so kommt gar keine Animation mach ich es anders dann ist sie in dauer Loop da! Habe auch 1-2 Videos geschaut und Codes mir durch gelesen aber nichts geht, nun habe ich ein Spirte Change event gemacht mit image_index=3

    dann geht das Pad nur hoch doch aber wieder nicht zurück auch nicht wenn ich dann Image_index=0 mit anfüge.
  • im objekt deines jump pads:
    add event -> other -> animation end und dort dann image_speed = 0
    oder?
    ...habs nicht getestet, erste idee gewesen, OC

    EDIT schnell: k.a., ob er dann beim letzten subimage stehen bleibt...sonst diese einfach vertauschen...wie gesagt, spontan und nicht getestet.
    könnt auch völlig falsch liegen :D OC
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
    (Albert Einstein)
  • Boah Hammer! Es Funktioniert .... nur ich habe kaum etwas anders gemacht, mhh GRML! Ich danke dir echt super :)

    Frech grins, bei der guten Hilfe muss ich mal anhaken mit den Plattformen ich habe welche die von Linsk nach Rechts sich bewegen via x,y Collision. Dann wollte ich , das wenn ich drauf stehen bleibt, doch er bewegt sich ganz leicht gegen entsetzt mit! Bin schon 20x den Code durch gegangen Vielleicht weißt du ja was :) Hoffe "du" ok? :)



    Step Event beim Player

    GML-Quellcode

    1. //Movingplattform
    2. if place_meeting(x,y+1,Platformlevel2is1){
    3. x+=Platformlevel2is1.hspeed
    4. }



    bei der Plattform

    GML-Quellcode

    1. Create
    2. Hspeed=2

    bei step

    GML-Quellcode

    1. //Step Event Plattform
    2. x+=hspeed;
    3. if place_meeting(x,y,obj_block){
    4. hspeed=-hspeed
    5. }



    Wenn ich dann drauf springe dann ist es wie so ein Laufband er bleibt leicht stehen aba schwammt so etwas weg
  • xxwusaxx schrieb:

    Step Event beim Player


    GML
    1
    2
    3
    4
    //Movingplattform
    if place_meeting(x,y+1,Platformlevel2is1){
    x+=Platformlevel2is1.hspeed
    }

    tausche den hier mit:

    GML-Quellcode

    1. if place_meeting(x,y+1,Platformlevel2is1)
    2. {
    3. if Platformlevel2is1.hspeed>0
    4. x+=Platformlevel2is1.hspeed*Platformlevel2is1.hspeed
    5. if Platformlevel2is1.hspeed<0
    6. x-=Platformlevel2is1.hspeed*Platformlevel2is1.hspeed
    7. }


    viel spass, OC
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
    (Albert Einstein)
  • Wenn ich nun in Berührung komme mit der Plattform kommt das:


    GML-Quellcode

    1. ############################################################################################
    2. FATAL ERROR in
    3. action number 1
    4. of Step Event0
    5. for object obj_player:
    6. Push :: Execution Error - Variable Get 41.hspeed(6, 0)
    7. at gml_Object_obj_player_Step_0 (line 43) - if Platformlevel2is1.hspeed>0
    8. ############################################################################################
  • keine ahnung, bei mir geht es - hab dir meinen test angehängt...weiss ja nicht, was du sonst noch an codes drin hast...
    hab einfach mal deine code snippets nachgebaut :D OC
    Dateien
    • xxwusaxx2.gmk

      (10,17 kB, 138 mal heruntergeladen, zuletzt: )
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
    (Albert Einstein)
  • Du bist mein Held! Kann ich dir ein Abzeichen verleihen *grins*
    Hatte nur ein // Fehler in der ganzen Geschichte, wenn ich das nun umsetzen möchte in Vertical dann heißt es doch eigentlich x=y und h=v. Doch wenn ich auf der Plattform springe dann kann ich mich nicht mehr bewegen kurzweilig gehts vielleicht und beide objkte bleiben stehen.
  • ok, zu viel auf einmal...
    k.a. wie dein code für die bewegung aussieht und k.a., dass es kurzzeitig geht bzw. beide stehen bleiben bzw. du unbeweglich bist (und k.a. ob und und und, oder und und oder, oder und oder oder...wenn du verstehst, was ich meine :D ) - ich denke hier wäre es angebracht, dein projekt mal vollständig zu betrachten.
    gerne schaue ich mir dein bisheriges werk mal an, aber nicht mehr heute - schwer zu sagen ob morgen gleich, da ich morgen auf tour bin...
    OC
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
    (Albert Einstein)
  • solange du keine externen dateien laden tust, alles schick...und ich denke mal einfach, du lädst keine externen daten ;)
    *.gmk ausreichend :)

    "Ordnung braucht nur der Dumme, das Genie beherrscht das Chaos." (Einstein)
    OC
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
    (Albert Einstein)
  • "Ordnung braucht nur der Dumme, das Genie beherrscht das Chaos." (Einstein)
    OC[/quote]

    OraCom schrieb:

    solange du keine externen dateien laden tust, alles schick...und ich denke mal einfach, du lädst keine externen daten ;)
    *.gmk ausreichend :)

    Bomben Zitat von Einstein!
    Das Amüsante ist, wenn ich versuche Ordnung zu Schaffen oder allgemein Ordnung habe ist es 10x Langweiliger :D Und für mich ist es ein System! :D :headtouch:
    Ich lade die gmk gleich Hoch muss aber erst mal noch 1-2 Sachen Fertig machen :)


    So =) Hier ist die GMZ Datei =)

    www21.zippyshare.com/v/70820895/file.html

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von xxwusaxx ()

  • Hi,

    schau kurz mal rein, weil ich schnell noch meine regen-combi brauche (sieht nach regen aus, aber wir wollen auf jeden fall noch auf die autobahn...)

    erster gedanke, ohne es getestet zu haben:

    du regelst dein vertical platform über das obj_block und hast gleichzeitig dieses obj in deinem player drin - verträgt sich nicht...regel deine platform mit:

    GML-Quellcode

    1. y+=vspeed;
    2. if y<=20||y>=700
    3. //anstelle place_meeting(x,y,obj_block)
    4. //und lösche diesen block im room - wenigstens den oberen
    5. //Werte grad ausgedacht, musst du austesten ;)
    6. {
    7. vspeed=-vspeed

    und du hast diese doppel-collision nicht mehr...

    zweiter gedanke:

    versuche mal den code der vplatform analog zur hplatform zu gestalten.

    keine ahnung ob es klappt - nur eine idee...aber das mit dem obj_block bin ich mir sicher, kann nicht gehen...

    muss los, OC
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
    (Albert Einstein)
  • ok, durwachsener als ich dachte - mal kurz "drüberschauen" recht nicht aus :D
    wenn ich eine lösung parat habe, melde ich mich asap...sorry für die unzufriedene antwort, OC
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
    (Albert Einstein)
  • Steuerungs Probleme

    Problem mit der Steuern :/ Umgeschrieben in Code für mehr freiheit

    Und zwar habe ich nun das D&D weg gelassen nur für das Sprite change noch da, und habe die Steuerung Komplett in Code geschrieben, doch irgend wie will das nicht 100%

    beim ersten mal kann man ihn Steuern doch wenn man Springt dann nur noch wenn man springt :/

    GML-Quellcode

    1. //Steuerung
    2. //Rechts
    3. if keyboard_check(vk_right) && place_free(x+7,y){
    4. x+=7
    5. }
    6. //Links
    7. if keyboard_check(vk_left) && place_free(x-7,y){
    8. x-=7
    9. }
    10. //Springen
    11. if keyboard_check_pressed(vk_up) && !place_free(x,y+1) && ladder=false{
    12. vspeed=-9
    13. }
    14. //gravity
    15. if place_free(x,y+1){
    16. if ladder=true{
    17. y+=4
    18. }else{
    19. vspeed+=.5
    20. }
    21. }
    22. if vspeed>20{
    23. vspeed=20
    24. }
    25. //Leiter
    26. if place_meeting(x,y+1,obj_leiter){
    27. ladder=true
    28. }else{
    29. ladder=false
    30. }
    31. if keyboard_check(vk_up) && ladder=true{
    32. y-=7
    33. }
    Alles anzeigen



    Das ist in mein Obj_block collision mit player

    GML-Quellcode

    1. vspeed=0
    2. if !place_free(x,y+vspeed) && vspeed>0{
    3. move_contact(270)
    4. }



    Durch dacht und überlegt Problem gelöst habe move_contact_solid vergessen =)

    Läuft nun


    Update:
    Nun Funktioniert auch das die Plattform sich nicht mehr verbuggt wenn sie gegen mich kommt sondern zurück geht, Leiter Funktioniert nun auch Prima sowie das Komplette Movment via Code! Klasse Gesamtscore zählt sich auch alles richtig zusammen.
    Jetzt muss nur noch das Highscore Problem gelöst werden und das mit der Vertikalen Plattform.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von xxwusaxx ()

  • hat sich ja ne menge getan bei dir :)

    ...dann ist es mittlerweile sinnlos, sich noch mit deiner alten version zu beschäftigen - einfach mal ne neue hochladen, dann lohnt sich auch das anschauen ;) OC
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
    (Albert Einstein)