Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Geheim

Treue Seele

  • »Geheim« ist der Autor dieses Themas

Beiträge: 202

Wohnort: Salzburg

Beruf: Schüler

  • Private Nachricht senden

41

24.02.2012, 22:23

Die setz ich aber nur 1 mal und zwar am Anfang und da passt alles (schon geprüft) und es funktioniert ja auch zu 99.9999% xD
Aber immer wenn der Player bei ner Position mit .9 ist, passiert das...

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

42

24.02.2012, 22:24

Und wie genau setzt du sie?

Geheim

Treue Seele

  • »Geheim« ist der Autor dieses Themas

Beiträge: 202

Wohnort: Salzburg

Beruf: Schüler

  • Private Nachricht senden

43

24.02.2012, 22:27

Daweil so: (das ist mein erster Hügel,Tal-Versuch^^)

C-/C++-Quelltext

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
38
39
40
void World::GenerateWorld()
{
    int PosX = 0;
    int PosY = 0;
    for(float x=1; x<51; ++x)
    {
        PosX = static_cast<int>(x);
        PosY = static_cast<int>(cos(sqrt(x))*8);
        _Feld[PosX+3000][PosY+250].Besetzt = true;
        _Feld[PosX+3000][PosY+250].Generate = true;
        _Position.x = static_cast<float>((PosX+3000)*16 - 16);
        _Position.y = static_cast<float>((PosY+250)*16 + 304);
        vDirt.push_back(Block(_Game, _Position.x, _Position.y, Image_Block, 1));
    }

    for(unsigned int x=0; x<6000; ++x)
    {
        for(unsigned int y=0; y<1750; ++y)
        {
            if(_Feld[x][y].Besetzt == true && _Feld[x][y].Generate == true)
            {
                _Feld[x][y].Generate = false;
                for(int Times=0; Times<10; ++Times)
                {
                    _Feld[x][y+Times].Besetzt = true;
                    _Position.x = static_cast<float>(x*16 - 16);
                    _Position.y = static_cast<float>((y+Times)*16);
                    vDirt.push_back(Block(_Game, _Position.x, _Position.y, Image_Block, 1));
                }
                for(int Times=10; Times<50; ++Times)
                {
                    _Feld[x][y+Times].Besetzt = true;
                    _Position.x = static_cast<float>(x*16 - 16);
                    _Position.y = static_cast<float>((y+Times)*16);
                    vStone.push_back(Block(_Game, _Position.x, _Position.y, Image_Block, 2));
                }
            }
        }
    }
}

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

44

24.02.2012, 22:55

Hm, ok. Tritt das Problem auch auf, wenn du die Sache mit dem Cosinus mal rausnimmst und die Sprites stattdessen an ganzzahlige Koordinaten setzt?

Geheim

Treue Seele

  • »Geheim« ist der Autor dieses Themas

Beiträge: 202

Wohnort: Salzburg

Beruf: Schüler

  • Private Nachricht senden

45

24.02.2012, 23:04

Jap, ABER es passiert NICHT, wenn ich den View nicht ändere, also wenn der immer gleich bleibt, flimmert garnichts, passt alles, also muss doch das Ganze mit dem View zusammenhängen...

Werbeanzeige