ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SFML / Texture Sprite(이미지)
    활동 기록 😵‍💫/SFML 테트리스 2023. 2. 5. 23:39

     

    게임시작 화면 만들기 

    윈도우 창에 텍스트가 나타났다가 사라지도록 하면 될것 같다. 

    Texture

    디스크에서 이미지 파일 가져오기

    loadFromFile 메소드 

    int main() {
    	RenderWindow window(VideoMode(1920, 1080), "tetris");
    	sf::Texture texture;
    	if (!texture.loadFromFile("alice.jpg"))
    		return -1;
    	// Assign it to a sprite
    	sf::Sprite sprite;
    	sprite.setTexture(texture);
    	// Draw the textured sprite
    	window.draw(sprite);
    
    	return 0;
    }

    자꾸 실패한다 왜일까.....

    상대경로로 복사해서 다시

    int main() {
    	RenderWindow window(VideoMode(1920, 1080), "tetris");
    	sf::Texture texture;
    	texture.loadFromFile("C: / Users / User / OneDrive / 사진 / alice.jpg");
    
    	while (window.isOpen()) {
    		Event event;
    		while (window.pollEvent(event)) {
    
    
    			if (!texture.loadFromFile("C:/Users/User/OneDrive/사진/alice.jpg", IntRect(10, 10, 32, 32)))
    				return -1;
    			// Assign it to a sprite
    			sf::Sprite sprite;
    			sprite.setTexture(texture);
    			// Draw the textured sprite
    
    			window.clear();
    			window.draw(sprite);
    			texture.create(50, 50);
    			window.display();
    
    			return 0;
    		}
    	}
    }

    해도 안된다...

    앗차차 

    return을 안에 넣었었다 

    이젠 뭔가 불려오긴 하는데 검은 화면이다...

    드뎌 됐다....

    #include <SFML/Graphics.hpp>
    
    #include <cassert> 
    
    #include <stdio.h>
    
    #include <iostream>
    
    #include <windows.h>
    
    #include <conio.h>
    
    #include <stdlib.h>
    #include <SFML/Config.hpp>
    #include <SFML/System/Export.hpp>
    
    using namespace std;
    using namespace sf;
    
    int main() {
    
    
    	Texture texture;
    	texture.loadFromFile("C:/Users/User/OneDrive/사진/alice.jpg");
    	Sprite sprite;
    	sprite.setTexture(texture);
    	sprite.setTextureRect(IntRect(0 ,0, 500, 500));  //0,0위치에 500*500 사이즈로 로드 
    
    	RenderWindow window(VideoMode(500, 500), "tetris");
    	//window.setFramerateLimit(60);
    
    	while (window.isOpen()) {
    		Event event;
    		while (window.pollEvent(event)) {
    
    
    			if (!texture.loadFromFile("C:/Users/User/OneDrive/사진/alice.jpg"))
    				return -1;
    			// Assign it to a sprite
    
    			sprite.setTexture(texture);
    			// Draw the textured sprite
    
    			window.clear();
    			window.draw(sprite);
    			window.display();
    		}
    	}
    			return 0;
    		
    	
    }

    여러가지 오류가 많았다... 

    아무튼 이 코드로 이미지 불러오기 성공....

    필요없는 코드 지우고 시간 지나면 다시 사라지도록 ? 짜봐야한다...

Diseñada por Tistory.