Kezdőoldal » Számítástechnika » Programozás » SFML2. 0 val hogyan csináljam...

SFML2. 0 val hogyan csináljam meg azt, hogy egy általam készített jpg vagy bmp formátumú kép teljesen láthatatlanból egyre láthatóbbá váljon?

Figyelt kérdés

Van egy ötletem.

Mivel az SFML képes kezelni a gif formátumot ezért megcsinálhatnék egy ilyen giffet gimp el és ezt egyszer lejátszom amikor megnyitom a programot.


Bár tökéletes ez a megoldás mégsem szeretném ezt választani mert túl könnyű lenne.Úgy szeretném megcsinálni ahogy még nem tudom.


Létrehozok egy 800x800 as fekete hátterű ablakot és a bmp képet valahogy teljesen át tetszővé kéne tenni majd fokozatosan egyre láthatóbbá varázsolni.


Át néztem a dokumentációját de nem találtam a nekem megfelelő függvényt.


Segítsetek pls.


2013. jan. 29. 15:38
 1/7 iostream ***** válasza:

[link]


Rakj egymásra két képet: alulra a tiédet, felülre egy teljesen feketét. A felsőnek fokozatosan vedd feljebb az alfa csatornáját 255-ig, amikor teljesen átlátszó lesz.

2013. jan. 29. 16:03
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:

Kösz.


És még annyit had kérdezzek meg,hogy lehetséges e az,hogy az ablakot ne lehessen átméretezni.


Mert nem szeretném ha a felhasználó a kurzorral átméretezze vagy pedig az X bezáró jel mellet jobbra levő kis kockával full képernyőre tegye.

2013. jan. 29. 16:09
 3/7 A kérdező kommentje:

Megtaláltam ami nekem kell.

rWindow.create(sf::VideoMode(700, 650, 32), "AMOBA", sf::Style::Close, sf::ContextSettings(8));


Ha így hozom létre az ablakot akkor nem lehet full képernyőre tenni.


Már csak azt kéne valahogy megakadályozni hogy ne lehessen átméretezni az ablak oldalait.


Segítsetek.

2013. jan. 29. 16:17
 4/7 iostream ***** válasza:

[link]


Első találat az sfml disable resize szavakra.

2013. jan. 29. 16:57
Hasznos számodra ez a válasz?
 5/7 A kérdező kommentje:

Nem jó.

Hiába csinálom úgy akkor is átméretezhető.

És még csak nem is lehet bezárni ebben az esetben az ablakot mert jobb oldalt ott fent nincs X.

És még csak alulra sem lehet tenni mert nincs ott _.

2013. jan. 29. 21:46
 6/7 iostream ***** válasza:
Istenem, ott van írva, hogy az egy példa. Nézz utána, hogy milyen stílusokat lehet megadni az ablaknak.
2013. jan. 29. 21:49
Hasznos számodra ez a válasz?
 7/7 A kérdező kommentje:

Igen utánanéztem és már sikerült.

De te félreértettél engem.


//main.cpp

#include <SFML/Graphics/RenderWindow.hpp>

#include <SFML/Window/Event.hpp>

#include <iostream>


int main()

{

sf::RenderWindow rWindow;

rWindow.create(sf::VideoMode(700, 650, 32), "AMOBA", sf::Style::Close, sf::ContextSettings(8));


while(rWindow.isOpen())

{

sf::Event Event;

while(rWindow.pollEvent(Event))

if(Event.type == sf::Event::Closed)

rWindow.close();

else

if(Event.type == sf::Event::Resized)

continue;


rWindow.clear();

rWindow.display();

}


Így lett jó.

Amint láthatod ebben a példában nem a sf::Style::Resize használom mert akkor nem lehetne beikszelni, vagy alulra tenni.


A Stílusokkal nem volt az megoldható hogy a kurzorral az ablakot ne lehessen átméretezhetővé tenni.

Event kellet használnom hozzá.


Amúgy kösz adtam zöld kezet.

2013. jan. 29. 22:01

További kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!