Hallo,
sorry als ik de vorige keer te kort door de bocht ging, ik zal dit keer mijn best te doen om een zo duidelijk mogelijke vraag op te stellen.
Het is trouwens in XNA game studio 3.1
Ik heb een klasse speler:
Ook heb ik de klasse Bal:
UIteraard kan ik box niet maken omdat hij helemaal geen idee heeft van de positie van Speler. Nu zullen jullie zeggen als je die box wilt, zet dan heel die public Rectangle box in klasse Speler, maar dat kan niet want dan moet ik aan public void Update een parameter meegeven, dat moet dan ook waar ik hem update, maar Update kan maar 1 parameter meegeven.
Mijn vraag is dus hoe kan ik Speler positie en Speler sprite gebruiken in de Klasse bal.
Ik hoop dat het zo duidelijk is, bij voorbaat dank.
sorry als ik de vorige keer te kort door de bocht ging, ik zal dit keer mijn best te doen om een zo duidelijk mogelijke vraag op te stellen.
Het is trouwens in XNA game studio 3.1
Ik heb een klasse speler:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| class Speler { public Texture2D sprite; public Vector2 positie, snelheid, scherm; private int xPositie; public Speler(Texture2D geladenSprite, Vector2 s, Keys tu, Keys td) { this.sprite = geladenSprite; this.scherm = s; this.positie.Y = (s.Y/2) - (this.sprite.Height/2); } public void Update(GameTime gameTime, int xPositie) { Vector2 vorigePositie = positie; positie += snelheid; positie = new Vector2((float)Math.Round(positie.Y)); this.positie.X = xPositie; this.positie.Y = MathHelper.Clamp(this.positie.Y, 0.0f, this.scherm.Y - this.sprite.Height); } } |
Ook heb ik de klasse Bal:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| class Bal { private Texture2D sprite; private Vector2 positie, snelheid, scherm; public Rectangle box { get { return new Rectangle((int)(Speler.positie.X), (int)(Speler.positie.Y), Speler.sprite.Width, Speler.sprite.Height); } } public bool botsing (Rectangle box) { float straal = Math.Max(sprite.Width / 2, sprite.Height / 2) / 2; Vector2 dichtstbij = new Vector2(MathHelper.Clamp(middelPunt.X, box.Left, box.Right), MathHelper.Clamp(middelPunt.Y, box.Top, box.Bottom)); float afstand = (dichtstbij - middelPunt).Length(); return afstand < straal; } public void Update(GameTime gameTime) { if (botsing(box) == true) { this.snelheid.X *= -1; this.snelheid.Y *= -1; } } |
UIteraard kan ik box niet maken omdat hij helemaal geen idee heeft van de positie van Speler. Nu zullen jullie zeggen als je die box wilt, zet dan heel die public Rectangle box in klasse Speler, maar dat kan niet want dan moet ik aan public void Update een parameter meegeven, dat moet dan ook waar ik hem update, maar Update kan maar 1 parameter meegeven.
C#:
1
2
3
4
5
6
| protected override void Update(GameTime gameTime, hier zou ik Rectangle box moeten plaatsen) { this.rodeSpeler.Update(gameTime, 785); this.blauweSpeler.Update(gameTime, 0); this.bal.Update(gameTime); } |
Mijn vraag is dus hoe kan ik Speler positie en Speler sprite gebruiken in de Klasse bal.
Ik hoop dat het zo duidelijk is, bij voorbaat dank.