Absoluter Noob braucht hilfe bei breakout clone!

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

  • Absoluter Noob braucht hilfe bei breakout clone!

    Hallo zusammen !

    Ich hab da echt ein problem mit meinem Breakout clone,
    und weiß ich nicht wie man mittels D&D den ball dazu bringt wieder zu erscheinen und das ganze maxmimal 3 mal und danch soll das spiel beendet sein .

    vieleicht weiß von euch einer rat

    Danke

    NIR
    P.S.Die angehängte datei ist eine gmd von gamemaker 5.3a sollte aber auch mit version 6 zu öffnen sein
    könnt ja mal reinschaun
    Dateien
    Zu Alt....:-)

    ******************** N O T H I N G I S R E A L *******************
  • zu 1:
    im instance_destroy (unter others) musst du den button instance create einfügen (x und y koordinaten des startpunktes eingeben).
    zu 2:
    erstelle eine fariable die bei jedem mal wen der ball destroid wird runtergezählt wird. bei <0 wird das spiel beendet.

    ps: im outside room event des balles (ebenfals im others zu finden) ist es sinvoll (fals nicht schon vorhanden) ein instance destroy einzuschieben.
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl
  • oh danke das du so schnell genatwortest hast @Nobody,nur
    ich verstehe nicht ganz wa sdu meinst.
    ich hab ein controller eingebaut dr den ball erstellt an einer position,
    der ball ball wird dann wieder von einer wand zerstört.
    jetzt fehlt der schritt weiter ,also bei welchem object ich was eingeben muß das der ball wieder erscheint an der bestimmten stelle und das max. 3 mal.

    Danke

    NIR
    Zu Alt....:-)

    ******************** N O T H I N G I S R E A L *******************
  • Das kann alles der controller machen!
    Gib dem controller ein create event mit piece of code.

    GML-Quellcode

    1. global.balls = 3

    Wenn der Ball zerstört wird ziehst du gleichzeitig davon 1 ab.
    Wenn dann noch 1 Ball da ist startest du einen Alarm.

    GML-Quellcode

    1. global.balls -= 1
    2. if global.balls > 0 controller.alarm[0] = 60


    Der controller erzeugt dann einen neuen ball:

    GML-Quellcode

    1. instance_create(x,y,ball)
  • Sorry @battlegorge aber was du schreibts gibt bei mir nur fehler meldungen.
    kannst du das etwas genauer beschreiben was du meinst wie gesagt ich bin blutiger anfänger .
    ich weiß ihr seit cracks was gml anbelangt aber vieleicht könntet ihr euch etwas vertändlicher ausdrücken.

    Danke

    NIR
    Zu Alt....:-)

    ******************** N O T H I N G I S R E A L *******************
  • ok, du must den ball ja als object besitzen. am einfachsten währe es zu sagen das der ball bei berührung der platte (ich hatte angenommen das er auserhalb des rooms seinen müsste, sry) einfach den speed 0 bekommt. zu erreichen ist das indem beim kollison with obj_wall (oder wie das object auch heißen mag was den ball unten respawnen lassen soll) den d&d button aus move nimmst "start moving in a direction" und dort speed = 0 einträgst und den klotz in der mitte anwählst.
    darunter komt ein button "jump to a given position" welcher die x und y werte zugewiesen bekommt wo der ball starten soll.
    dan kanst du einen timer ect einbauen oder den ball ach direct wieder einen speed und eine directiongeben, so wie du es schon hast.
    eine variable ist der einzige weg das es nur 3x geht, das machst du follgendermaßen:
    im create event des balles kommt ein button "set the value of a variable" (in controlls zu finden) diesem gibst du den wert 2 (ja 2! erklärung kommt unten).
    im kollision event (wie oben) komt zuseätzlich noch ein button "set the value of a variable" aber diesmal musst du -1 eingeben und das häckchen relativ aktivieren. damit wird der wert um 1 reduziert.
    nun knast du im step event eine abfrage machen "if a variable has a value" und smaler then 0 und dan zb. restart game oder sowas, damit das game halt beendet ist und man im menü neu anfängt. nun die erklärung warum vaue = 2.
    das komt weil abgefrat wird ob es kleiner als null ist (größer kleiner ist imer besser als gleich, dazu könntest du dir ja mal den thread "ältester bug" von mewx ansehen. 2,1,0 sind nun mal 3 mal und nicht 2 da die null mutzählt.

    viel spass, hoffe das hilf dir wen nicht einfach nochmal nachfragen.

    ps:
    sry es ist etwas länger geworden als ich gewollt hatte, hofe du bist nciht davon erschlagen worden.
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl
  • ich habe mal das game etwas verändert, hier es müsste gehen wen die objectinformationen vom object wand-unten so aussehen.
    leider kan ich dir die datei niht hochladen sry.
    ps: warum benutz du ein gmd format stadt gm6?
    Information about object: Wand-unten

    Sprite: Wand-unten
    Solid: false
    Visible: false
    Depth: 0
    Persistent: false
    Parent: <no parent>
    Mask: <same as sprite>

    Create Event:
    set variable leben to 2

    Step Event:
    if leben is smaller than 0
    restart the game

    Collision Event with object Ball:
    for other object: move to position (160,320)
    set variable leben relative to -1
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl
  • Danke dir erstmal @Nobody-86!
    Soweit so gut jetzt ist nur noch das problem das ich doch erst die variable leben definieren muß aber wo mach ich das?
    da ich eine fehlermeldung kriege die sich auf :
    Create Event:
    set variable leben to 2
    bezieht.

    Danke

    NIR
    P.S. ich bin mit beiden versionen von GM zugange.
    Hier nochmal eine von GM6 nach deinen angaben gemacht

    P.P.S.:ich habs rausgefunden, man sollte das wort lives nehmen anstatt leben
    dann klappts auch mit dem nachbarn :)
    somit wäre das problem gelöst
    Dateien
    Zu Alt....:-)

    ******************** N O T H I N G I S R E A L *******************

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von NIR ()

  • also, es ist ganz egal wie eine variable heißt, du kanst sie auch erdbeere nennen das ändert nichst an ihrer funktion. aber zum wesentlichen:
    hast du die variable auhc richtig deffiniert? in einem create-event das d&d symbol "set the value of a variable" benutzt? (ist eine graue box mit blauer schrift VAR, zu finden im controll reiter).
    bei variable gibst du dan leben ein
    bei value(wert) gibst du 2 ein.
    ich vermute das du bei variable "leben = 2" eingegeben hast.
    wen die object informationen exakt so sind wie oben, dan geht es einwandfrei, ich habs getestet.

    ps @ battlegeorge:
    die sache mit global.var kanst du vergessen, NIR ist noch nicht so weit um mit gml codes zu arbeiten, hatt er doch schon gesagt.
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl
  • Oh sicher hab ich das so wie du gesagt hast gemacht Nobody-86,nur es funktioniert nicht .
    Ich krieg dann immer die fehlermeldung wo steht das leben eine unknown varable ist.
    und bei dem set a value setzte ich ja im prinzip nur den wert für leben ,gm weiß aber doch damit noch garnicht was mit leben gemeint ist.
    lives zum beispiel ist ja schon in gm eingebaut,damit gehts ja auch .
    bitte um berichtigung falls ich falsch liege.

    NIR
    Zu Alt....:-)

    ******************** N O T H I N G I S R E A L *******************

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

  • Also im prinzip hhab ihr wahrscheinlich alles recht,das problem lag darin das ich im spiel in meinem Controll object schon einen fehler hatte.
    Meine Dank geht allerdings an F.S. der mir das ganze gradegebogen hat und das geänderte spiel wiedergegeben hat.
    Ich habs damit zwar nicht selber gemacht ,aber anderes wäre ich wohl nicht weitergekommen.
    ich danke euch totzdem für die mühe

    NIR
    p.S. ich leg mal das geänderte bei damit ihr euch mal nen bild machen könnt,wenn ihr lust habt
    Dateien
    Zu Alt....:-)

    ******************** N O T H I N G I S R E A L *******************