Kleines Game

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Torty H.

    Kleines Game

    Moin Moin liebe VBler

    ich habe mal ne frage

    ich hab ma angefangen mir ein keines Spiel auszudenken in dem ein "Mänle" herumlaufe kann und je nach Kollision verschiedene aufgaben ausführt

    dies ist einfach nur ma so zusammen geklickt ^^

    nun meine Frage

    wie funktioniert das das ich mein "Mänle" bis Ultimo nach oben laufen kann ohne ne neue Form öffnen zu müssen bzw xna oder direkt x als beistand nehmen muss


    denn es ist ja so wen mein "Mänle" über die Form lauft ist es ja irgendwann nimmer sichtbar (je nach größe des Bildschirms ^^)
    und das möchte ich umgehen so wie zb

    Campingplatzt Simulator da haste ja auch so ne Art scroller

    ich hoffe ihr könnt mir da ein wenig weiterhelfen

    Danke gruslig Torty
    Naja also ich würde es so mache erst ein mal müstest du wen du nach obengest das hintegrund bild nach oben zien also
    y +=20 und natürlich wenn der spieler oben angekommen ist berprüfen ob er kolediert
    also so

    VB.NET-Quellcode

    1. if player.y = me.y then
    2. hintegrund.y +=20
    3. end if

    mfg blacknetworkbit
    MFG 0x426c61636b4e6574776f726b426974
    InOffical VB-Paradise IRC-Server
    webchat.freenode.net/
    Channel : ##vbparadise
    @BlackNetworkBit: Dein Code würde wenn der Spieler nach oben geht das Bild nach unten gehen.

    Zudem weißt du das mann nicht einfach ein Hintergrundbild durch die gegend ziehen kann?
    Du kannst doch keine 10.000 x 10.000 px Bitmap laden und die verschieben.
    Und das ganze mit einem Source Rectangle (Bild ausschnitt aus Bild) zu machen ist auch großer mist.

    @Torty H : Guck dir lieber ein gutes Tilemap Tutorial an.
    hm also mit Tilemap spart man sich auf jedenfall schon einmal das einbinden von extrem großen Bildern

    da die bilder ja in ca 16 X 16 px px geteilt werden somit rucket schon mal weniger

    wen ich das so richtig verstanden habe

    aber löst das auch das Problem mit diesem scroll efekt ???

    VB.NET-Quellcode

    1. if player.y = me.y then
    2. hintegrund.y +=20
    3. end if





    also wen ich so mache wie hier im Forum beschrieben funktioniert es ja

    aber

    die map is viel zu klein

    Private Map(,) As Integer = {{0, 0, 1, 1, 2, 1, 1, 0, 0}, {0, 0, 1, 1, 2, 1, 1, 0, 0}, {0, 0, 1, 1, 2, 1, 1, 0, 0}, {0, 0, 1, 1, 2, 2, 1, 0, 0}, {0, 0, 1, 1, 2, 2, 2, 0, 0}}

    kann ich eigentlich diese "
    {0, 0, 1, 1, 2, 1, 1, 0, 0}" so lang machen wie ich se will oder müssen alle gleich sein ???




    ^^ sieht mir ein bisschen zu einfach aus

    so ich teste ma was dann schreib ich wieder ^^

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Torty H“ ()

    VB.NET-Quellcode

    1. if player.y = me.y then

    Müsste normalerweise schon einen fehler werfen.
    Da die Form keinen member namens Y hat.


    Nehmen wir mal an deine Form (ohne Rahmen) ist 500 x 500 px groß:

    VB.NET-Quellcode

    1. If Player.LocationX < 50 Then
    2. 'Scroll nach Links Code
    3. ElseIf Player.LocationX > 450 Then
    4. 'Scroll nach rechts Code
    5. ElseIf Player.LocationY < 50 Then
    6. 'Scroll nach oben Code
    7. ElseIf Player Location > 450 Then
    8. 'Scoll nach unten Code
    9. End If

    Der Scroll Code basiert ja auf deiner TileEngine.
    Also Was ich im 1. Post schon sagen wollte war "Tile Engine" nicht "Tile Map" :S

    Also wie man so eine Tile Engine schreibt ist im netz gut erklärt.
    Einfach mal "Tile Engine" googeln.
    Vielleicht erklärt das einiges: KLICK

    Das ist ein Artikel wie man mithilfe von XNA eine Tilemap erstellt (Ist XNA 3.0, läuft nicht mit 4).
    Du sollst das jetzt nicht sofort mit XNA nachbauen oder so (bleibt natürlich dir überlassen), aber vielleicht
    hilft der Artikel das System zu verstehen.

    Hab jetzt gerade nichts anderes.

    VB.NET-Quellcode

    1. If Player.LocationX < 50 Then 'Scroll nach Links Code ElseIf Player.LocationX > 450 Then 'Scroll nach rechts Code ElseIf Player.LocationY < 50 Then 'Scroll nach oben Code ElseIf Player Location > 450 Then 'Scoll nach unten Code End If


    Könnte man das theoretisch mit ner Form autoscroller machen ???

    ich hatte da ma einen Anfang aber irgendwie is das nich so wie es sein soll lol

    einaml das

    VB.NET-Quellcode

    1. Me.ScrollControlIntoView(PictureBox1)
    nur das versteh ich irgentwie nich

    weil laut info sollte das bild hinter der PicBox hinter her laufen oder liege ich da falsch

    und das wäre so ne zweiter variante die aber irgentwie auch net gehen will -.-

    VB.NET-Quellcode

    1. Me.HorizontalScroll.Value = Me.HorizontalScroll.Value + 1



    es gäbe so mit 2 varianten

    1 Bild verfolgt das "Mänle"

    ------------------------------------> Mänle
    ------------------------------------> baground

    2 ab bestimmte Position vom "Mänle" wird das Bild durch nen Timer oder so nach der jeweiligen Richtung geschoben

    ------------------------------------> Mänle erreicht Point
    <---------------------------------- baground wird mit mänle zurück geschoben (Ähnlich wie Frame)

    ich hoffe ihr könnt mir da nochma unter die arme greifen weil XNA ist mir dafür zu aufwendig da es ersma nur für mich selbst is
    und DX mag ich net bzw mag mich nich ^^

    Muss also auch nich GDI + sein weil mir es wurscht is wie schnell der reagiert ^^


    bedanke mich schon mal im voraus

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Torty H“ ()