Sfml c++ lenght error oraz problrm z textem

0

@Bartłomiej Golenko: A wiesz co z tym wyjątkiem?

0

Dobra, pozmienialem troche w wlasciwosci projektu i dziala. mozna zamknąć

0

Witam, posiadam taki kod Ale wyświetla się białe okno, wcześniej działało. Jak to naprawić?
' ' ' c++
#include <SFML/Graphics.hpp>
#include <iostream>
#include <windows.h>
 
using namespace sf;
float jumpSpeed = 0.3f;
float MoveSpeed = 0.1f;
int checkskok = 1;
int main()
{
    const float gravity = 1;
    Vector2f velocity(sf::Vector2f(0, 0));
     
     
 
    Texture PostacStoi;
    PostacStoi.loadFromFile("_PNG/1_KNIGHT/Knight_01__IDLE_000.png", sf::IntRect(534, 175, 1266, 735));
 
    Sprite Postac;
    Postac.setTexture(PostacStoi);
    Postac.setScale(0.2f,0.2f);
    Postac.setPosition(10, 580);
 
 
 
 
 
    RenderWindow window(sf::VideoMode(1000, 700), "SFML works!");
     
     
     
 
    while (window.isOpen())
    {
        velocity.x = 0;
        velocity.y = 0;
        Event event;
        while (window.pollEvent(event))
        {
            if (event.type == Event::Closed)
                window.close();
        }
        int SkokWpow = Postac.getPosition().y;
        if (Keyboard::isKeyPressed(Keyboard::W)) {
            if (checkskok == 1) {
                int SkokWpow = Postac.getPosition().y;
                checkskok = 0;
            }
            int wysteraz = Postac.getPosition().x;
            velocity.y = -jumpSpeed;
            Postac.move(velocity.x, velocity.y);
 
            if (wysteraz == SkokWpow + 100) {
                for (int i = 1; i <= 20; i++) {
                    velocity.y = jumpSpeed + gravity;
                    Postac.move(velocity.x, velocity.y);
                    if (wysteraz == SkokWpow) {
                        checkskok = 1;
                    }
                }
            }
        }
        }
 
         
 
        if (Keyboard::isKeyPressed(Keyboard::A)) {
            velocity.x = -MoveSpeed;
            velocity.y = 0;
            Postac.move(velocity.x, velocity.y);
        }
 
 
    if (Keyboard::isKeyPressed(Keyboard::D)) {
        velocity.x = MoveSpeed;
        velocity.y = 0;
        Postac.move(velocity.x, velocity.y);
    }
             
         
     
         
        window.clear(Color(0,0,0));
        window.draw(Postac);
        window.display();
     
 
    return 0;
}
' ' '

POMYLKA XDD, myślałem że to nowy post

1
while (window.isOpen()) {
...
}

To jest główna pętla programu wywoływana co kilka, kilkanaście milisekund i w niej powinno znaleźć się czyszczenie obrazu i sprawdzanie stanu klawiatury. Skorzystaj z IDE i rób częściej auto formatowanie kodu to takie błędy wizualnie możesz wychwycić.

0
jvoytech napisał(a):
while (window.isOpen()) {
...
}

To jest główna pętla programu wywoływana co kilka, kilkanaście milisekund i w niej powinno znaleźć się czyszczenie obrazu i sprawdzanie stanu klawiatury. Skorzystaj z IDE i rób częściej auto formatowanie kodu to takie błędy wizualnie możesz wychwycić.

pętla jest wywoływana co 20 milisekund o ile się orientuje. Korzystam z Ide. A co do tej pętli to da się jakoś ją spowolnić? Nie chodzi mi o konkretnie tą.

3 użytkowników online, w tym zalogowanych: 0, gości: 0, botów: 3

Robot: CCBot (3x)