Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem] RPG - Problem


Rekomendowane odpowiedzi

Opublikowano

Siema.

Mam taki oto problem :

oh1z.png

wh4b.png

Wiecie jak zablokować wejscie na niektóre tekstury ?

 

Oraz jak zrobić, aby plansza się przewijała (aby bohater nie znikał )

 

Pyt 2

Co zrobić aby po kliknięciu na miksturkę dodawało 15hp ?

Bo po wpisaniu :

 

Form1.Label4.Text = Text("100" = +15)

w HP: Wyskakuje litera F

Tedi-ZawszeSpoko.png

Opublikowano

Załóżmy że mikstura to co kolwiek (np picture box) a hp to label1.text

Więc kod będzie wyglądał tak:

    Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click

if label1.text < 75 then
label1.text = label1.text + 15
else
msgbox("Posiadasz za dużo HP")
end if

    End Sub
Opublikowano

1.Przesuwaj bohatera powiedzmy maksymalnie 50px od krawędzi a następnie bohatera zostaw w miejscu i ruszaj samą mapą(lub raczej kamerą)

2.Nie wiem jak zamierzałeś zrobić to na formach... ale proponuje zrobić osobne klasy do wszystkiego Gracz,Blok,NPC itp i w nich wszystko trzymać i wtedy miałbyś bez problemów Bohater.addHp(int hp) lub Bohater.setHp(int hp)

3. A co do kolizji to jak działałbyś na podstawie Bloków to możesz sprawdzać jaki blok jest obok Gracza np

 

if(RUCH == Jakisenum.lewo && Bohater.canMove(Jakisenum.lewo))

Bohater.move(int x,int y);

 

funkcja canMove sprawdzałaby wtedy czy obok gracza jest Blok przez który można przejść czy nie :D

 

jeżeli ci to pomoże to w XNA trzymam mape w czymś takim ^^

 

 

[serializable]

public class Map

{

Block[,,] Blocks;

Boolean[,] CanMove;

Size size;

int layer;

 

public Map(Size size, int layer)

{

this.size = size;

this.layer = layer;

this.Blocks = new Block[layer, size.X, size.Y];

this.CanMove = new Boolean[size.X, size.Y];

for (int k = 0; k < this.getLayer(); k++)

{

for (int i = 0; i < this.getSize().X; i++)

{

for (int j = 0; j < this.getSize().Y; j++)

{

Blocks[k, i, j] = new Block("");

if(k==0)

{

CanMove[i, j] = new Boolean();

CanMove[i, j] = false;

}

}

}

}

}

 

public Size getSize()

{

return size;

}

 

public int getLayer()

{

return layer;

}

 

public Block GetBlockIN(int layer, int X, int Y)

{

return Blocks[layer, X, Y];

}

 

public Boolean UserCanMove(int X, int Y)

{

return CanMove[X, Y];

}

 

public void SetCanMove(int X, int Y,Boolean c)

{

this.CanMove[X, Y] = c;

}

}

 

xX_DevilGoku_Xx.png
Opublikowano

@UP
Broń boże.

Nie będzie nadal rozwijane, nie będzie jego nowej wersji kompatybilnej z Xbox-ONE, ale na potrzeby Windows8 i X360 -> nadal nie jest złym rozwiązaniem.

Ta sygnatura jest pusta.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...