C++ -kysymykset

Muu yhteisön välinen keskustelu.
User avatar
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm
Contact:

Re: C++ -kysymykset

Post by Koodiapina » Wed Aug 18, 2010 7:44 am

Oletko varma, että puuhailet juuri C++-projektin kanssa? Jos on C-projekti, koodi ei toimi.

Image

Tuo siis avautuu projektin luonti -ikkunassa, vähän jälkeen kun projektityyppi on valittu. Kuvassa olevan vaiheen on voinut ohittaakin, mutta en tiedä, kumman se silloin valitsee oletuksena.
Olen liian älykäs ollakseni väärässä. Jos olet kanssani eri mieltä, suosittelen sinua pohtimaan omaa elämänkatsomustasi ja sen perusteita.

User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: C++ -kysymykset

Post by esa94 » Wed Aug 18, 2010 11:33 am

Grandi wrote:Oletko varma, että puuhailet juuri C++-projektin kanssa? Jos on C-projekti, koodi ei toimi.

Image

Tuo siis avautuu projektin luonti -ikkunassa, vähän jälkeen kun projektityyppi on valittu. Kuvassa olevan vaiheen on voinut ohittaakin, mutta en tiedä, kumman se silloin valitsee oletuksena.
Juurikin näin.
EDIT:

Tämänhän näkee myös siitä, jos kääntöikkunassa lukee "gcc <parametrit>" kun siinä pitäisi olla g++

Muistaakseni.


User avatar
Sami The Great
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 4:15 pm
Contact:

Re: C++ -kysymykset

Post by Sami The Great » Wed Aug 18, 2010 4:19 pm

Tietääkö ketään, että miten saisin toisen ikkunan toisen ikkunan sisään? Yritän saada SDL:n luomaa ikkunaa piirtymään toisen ikkunan sisälle. SDL:ssä ei ole mahdollisuutta alustaa videosysteemiä jo valmiiksi luodulle ikkunalle, joten pitää WinAPI:n kanssa kikkailla jotenkin. Minulla on tiedossa SDL:n ikkunan kahva (HWND) sekä toisen ikkunan kahva. Etsin netistä keinoa, ja löysin funktion SetParent, mutta kääntäjä valittaa, että tälläistä funktiota ei löydy, vaikka olen includettanut windows.h:n. Olen joskus tehnyt niin, että OGRE renderöi SDL:n luomaan ikkunaan, mutta OGRE:ssa on valmiit metodit tähän hommaan, joten en asiasta enempää teidä windows tasolla, mutta käytännössä pitäisi olla siis mahdollista toteuttaa.
http://www.rockodilegames.com
CoolBasickin käyttäjä vuodesta 2004.

User avatar
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: C++ -kysymykset

Post by MaGetzUb » Wed Aug 18, 2010 4:26 pm

Juu kiitoksia avusta, olin tallentanut testitiedoston .c päätteeksi. Nyt .c -> .cpp :)
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.

User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: C++ -kysymykset

Post by esa94 » Wed Aug 18, 2010 5:28 pm

Sami The Great wrote:Tietääkö ketään, että miten saisin toisen ikkunan toisen ikkunan sisään? Yritän saada SDL:n luomaa ikkunaa piirtymään toisen ikkunan sisälle. SDL:ssä ei ole mahdollisuutta alustaa videosysteemiä jo valmiiksi luodulle ikkunalle, joten pitää WinAPI:n kanssa kikkailla jotenkin. Minulla on tiedossa SDL:n ikkunan kahva (HWND) sekä toisen ikkunan kahva. Etsin netistä keinoa, ja löysin funktion SetParent, mutta kääntäjä valittaa, että tälläistä funktiota ei löydy, vaikka olen includettanut windows.h:n. Olen joskus tehnyt niin, että OGRE renderöi SDL:n luomaan ikkunaan, mutta OGRE:ssa on valmiit metodit tähän hommaan, joten en asiasta enempää teidä windows tasolla, mutta käytännössä pitäisi olla siis mahdollista toteuttaa.
Miksi edes käytät SDL:ää? Jos teet joka tapauksessa Windows-spesifistä ohjelmaa, käytä vaikkapa Direct2D:tä tai GDI+:aa. Molemmat löytynevät MSDN:stä.

User avatar
JATothrim
Tech Developer
Tech Developer
Posts: 606
Joined: Tue Aug 28, 2007 6:46 pm
Location: Kuopio

Re: C++ -kysymykset

Post by JATothrim » Wed Aug 18, 2010 9:32 pm

Irkissä jo tätä mainostelinkin, joten olkaas hyvä: edistyneempi OpenGL koe aplikaatio windowsille. Kysykää koodista, vielä kun älyän miten se toimii. ;)
Vinkkinä niille, jotka pelleilevät OpenScreen() kutsun kanssa: tupla screen todennäköisesti kaataa ohjelman ja epäkelpo resoluutio sulkee ohjelman mystisesti/kaataa sen. (Kokoruutu tilasta voit pelastaa itsesi sulkemalla ohjelman Alt-F4:llä) :twisted:

Tämän kylkeen olisi tarkoitus häslätä vielä erilisissä threadeissa pyörivät Renderi, Syöteiden luku RAW input metodilla ja wrapata koko höskä luokka pohjaiseksi...
Attachments
OpenGL_Test.zip
(5.65 KiB) Downloaded 93 times
-On selkeästi impulsiivinen koodaaja joka...
ohjelmoi C++:lla rekursiivisesti instantioidun templaten, jonka jokainen instantiaatio instantioi sekundäärisen singleton-template-luokan, jonka jokainen instanssi käynistää säikeen tulostakseen 'jea'.

User avatar
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: C++ -kysymykset

Post by MaGetzUb » Thu Aug 19, 2010 12:32 am

Tässä nyt pitäisi olla .til tiedostojen lataus C++:a mutta en tiedä kun se ei näyttäisi toimivan, kun ruvetaan lukemaan main funktiossa Tilemapin taulukkoon ylös otettua dataa(joka ladataan TILEMAP LoadMap funktiossa).. :( Ajattelin että tällä tavoin tämä kartta homma olisi paras toteuttaa.. :D

Code: Select all

#include <fstream>
#include <map>
#include <iostream>
#include <stdlib.h>
#include <cmath> //Tarvitaan tulevaisuudessa
#include <string.h> //Tarvitaan tulevaisuudessa
using namespace std;

struct TILEMAP
{
    map<int, map<int, map<int, int> > > tiledata;
    int mapwidth_pix, mapheight_pix, mapwidth, mapheight;
    int tilewidth, tileheight;
    int maskr, maskg, maskb;
    int tiles;
};

TILEMAP LoadMap(char file[100], char tileset[100]);

int main(void)
{
    TILEMAP mappi;
    long camx, camy;
    mappi = LoadMap("C:\\Ohjelmointi\\C++\\tilemaps\\cdm2.til", "");

    int x, y;
    for(y = 1; y < mappi.mapheight; y++)
    {
        for(x = 1; y < mappi.mapwidth ; x++)
        {
            cout<<"\t"<<((mappi.tiledata[x])[y])[0];
        }
        cout<<"\n";
    }


}


TILEMAP LoadMap(char file[100], char tileset[100]){
    TILEMAP tmp;
    ifstream kartta;
    kartta.open(file, ios::in);
    if(kartta.fail())
    {
        cout<<"Mapfile not found!";
        cout<<"\nFunction aborted";
        kartta.close();
    }
    else
    {
        //Siirrytään kartta datassa aloituslukukohtaan.
        kartta.seekg(520);
        //Luetaan kartasta tilen maski RGB arvot muistiin.
        kartta.read((char*)&tmp.maskr, 1);
        kartta.read((char*)&tmp.maskg, 1);
        kartta.read((char*)&tmp.maskb, 1);
        //Siirrytään kartassa eteenpäin
        kartta.seekg(820);
        //Luetaan kartasta tilesetissä olevien tilejen määrä.
        kartta.read((char*)&tmp.tiles, 4);
        //Kartan tiilen leveys ja pituus
        kartta.read((char*)&tmp.tilewidth, 4);
        kartta.read((char*)&tmp.tileheight, 4);
        //Kartan leveys ja pituus tileinä.
        kartta.read((char*)&tmp.mapwidth, 4);
        kartta.read((char*)&tmp.mapheight, 4);

        if(!tmp.tiles>0)
        {
            cout<<"There's no tiles in tileset!";
            cout<<"\nFunction aborted.";
            kartta.close();
        }
        else if(!(tmp.tilewidth*tmp.tileheight) > 0)
        {
            cout<<"Tile overall size is 0.";
            cout<<"\nFunction aborted.";
            kartta.close();
        }
        else if(!(tmp.mapwidth*tmp.mapheight) > 0)
        {
            cout<<"Map overall size is 0.";
            cout<<"\nFunction aborted.";
            kartta.close();
        }

        int i, empty,  x, y;
        //Tarkistussummat
        for(i = 1; i < 4; i++){
            kartta.read((char*)&empty,1);
        }
        //Back-kerros
        for(y = 1; y < tmp.mapheight; y++)
        {
            for(x = 1; y < tmp.mapwidth ; x++)
            {
                kartta.read((char*)&((tmp.tiledata[x])[y])[0], 4);
            }
        }
        //Tarkistussummat
        for(i = 1; i < 4; i++){
            kartta.read((char*)&empty,1);
        }
        //Hit
        for(y = 1; y < tmp.mapheight; y++)
        {
            for(x = 1; y < tmp.mapwidth ; x++)
            {
                kartta.read((char*)&((tmp.tiledata[x])[y])[2], 4);
            }
        }
        //Tarkistussummat
        for(i = 1; i < 4; i++){
            kartta.read((char*)&empty,1);
        }
        //Over
        for(y = 1; y < tmp.mapheight; y++)
        {
            for(x = 1; y < tmp.mapwidth ; x++)
            {
                kartta.read((char*)&((tmp.tiledata[x])[y])[1], 4);
            }
        }
        for(i = 1; i < 4; i++){
            kartta.read((char*)&empty,1);
        }
        //Data
        for(y = 1; y < tmp.mapheight; y++)
        {
            for(x = 1; y < tmp.mapwidth ; x++)
            {
                kartta.read((char*)&((tmp.tiledata[x])[y])[3], 4);
            }
        }
    }

    kartta.close();
    return tmp;
}
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.

User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: C++ -kysymykset

Post by esa94 » Thu Aug 19, 2010 3:38 pm

MaGetzUb wrote:

Code: Select all

TILEMAP mappi;

Code: Select all

static TILEMAP mappi;

User avatar
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: C++ -kysymykset

Post by MaGetzUb » Thu Aug 19, 2010 3:42 pm

Hmm, miksi tuo static, voisitko vähän selittääkkin? :) En nimittäin tunne ihan C++:n perustaa. Se on sitte kiva yrittää tulkita tietämättömästi, mitä yritätte tarkoittaa.
BTW, konsolissa ei näkynyt tekstiä.
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.

User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: C++ -kysymykset

Post by esa94 » Thu Aug 19, 2010 5:08 pm

MaGetzUb wrote:Hmm, miksi tuo static, voisitko vähän selittääkkin? :) En nimittäin tunne ihan C++:n perustaa. Se on sitte kiva yrittää tulkita tietämättömästi, mitä yritätte tarkoittaa.
BTW, konsolissa ei näkynyt tekstiä.
Jos et laita staticia, luomasi olion elinaika loppuu sen poistuessa näkyvyysalueelta - eli tässä tapauksessa funktion palatessa.

User avatar
JATothrim
Tech Developer
Tech Developer
Posts: 606
Joined: Tue Aug 28, 2007 6:46 pm
Location: Kuopio

Re: C++ -kysymykset

Post by JATothrim » Thu Aug 19, 2010 7:15 pm

MaGetzUb wrote:Tässä nyt pitäisi olla .til tiedostojen lataus C++:a mutta en tiedä kun se ei näyttäisi toimivan, kun ruvetaan lukemaan main funktiossa Tilemapin taulukkoon ylös otettua dataa(joka ladataan TILEMAP LoadMap funktiossa).. :( Ajattelin että tällä tavoin tämä kartta homma olisi paras toteuttaa.. :D

Code: Select all

uskomatonta C + C++ purkkaviritelmä shittiä.
Jos aiot ladata CoolBasicin tilemapappeja, älä tee sitä noin. Tämä on paras esimerkki kuinka muistia ei hallita C++:ssa.
A) std::map kontaineria EI OLE TARKOITETTU käytettäväksi tuolla tavalla!! :evil: Käytä mielluummin vain int taulukkoa: "int * layer = new int[koko_x * koko_y];" ja tilen osoitukseen kaavaa "index = y * koko_x + x" tämä on kymmeniä kertoja nopeampi ja käyttää vähemmän muistia. Jos välttämättä haluat vielä, että karttaa voidaan venyttää lennnosta, käytä std::vector< std::vector<int> * > kontaineria rivien säilytykseen ja johon pusketaan std::vector<int>:jä
B) Hyvä herra kirjoitat C++:aa TAI C:tä, et molempia. C++:ssa standardi kirjaston headereissa EI KÄYTETÄ .h päättettä. Ei missään. Ei edes C:n kirjastoissa, vaan esim #include <stdlib.h> tulee #include <cstdlib>.
C) new heapista ja auto pinosta.

Code: Select all

int * heappiluku = new int; // varataan muistia muuttujalle heapista jotta se säilyy kun esmes. kun poistutaan funktiosta.
int pinoluku; // varataan muistia muuttujalle pinosta eli muuttuja tuhoutuu nykyvyysalueensa ulkopuolella.
Älä. Koskaan. Ikinä. palauta funktiosta osoitinta pinosta varattuun muutujaan.

Jatkappas lukemista täällä: http://www.cplusplus.com/doc/tutorial/ ;) (ohjelmointiputkassa on myös erittäin vaikuttava suomenkielinen C++ opas)
BTW. voisin opastaa sinua "kädestä pitäen" tilekartan tekemiseen. C++:lla.
-On selkeästi impulsiivinen koodaaja joka...
ohjelmoi C++:lla rekursiivisesti instantioidun templaten, jonka jokainen instantiaatio instantioi sekundäärisen singleton-template-luokan, jonka jokainen instanssi käynistää säikeen tulostakseen 'jea'.

User avatar
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: C++ -kysymykset

Post by temu92 » Thu Aug 19, 2010 7:58 pm

Jotakin perusjuttuja voi löytää myös täältä. Toisaalta tuo on hieman vanhempi ja jotkin jutut saattaa olla jo vanhentunutta tietoa.

User avatar
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: C++ -kysymykset

Post by MaGetzUb » Thu Aug 19, 2010 8:29 pm

JATothrim wrote:
MaGetzUb wrote:Tässä nyt pitäisi olla .til tiedostojen lataus C++:a mutta en tiedä kun se ei näyttäisi toimivan, kun ruvetaan lukemaan main funktiossa Tilemapin taulukkoon ylös otettua dataa(joka ladataan TILEMAP LoadMap funktiossa).. :( Ajattelin että tällä tavoin tämä kartta homma olisi paras toteuttaa.. :D

Code: Select all

uskomatonta C + C++ purkkaviritelmä shittiä.
Jos aiot ladata CoolBasicin tilemapappeja, älä tee sitä noin. Tämä on paras esimerkki kuinka muistia ei hallita C++:ssa.
A) std::map kontaineria EI OLE TARKOITETTU käytettäväksi tuolla tavalla!! :evil: Käytä mielluummin vain int taulukkoa: "int * layer = new int[koko_x * koko_y];" ja tilen osoitukseen kaavaa "index = y * koko_x + x" tämä on kymmeniä kertoja nopeampi ja käyttää vähemmän muistia. Jos välttämättä haluat vielä, että karttaa voidaan venyttää lennnosta, käytä std::vector< std::vector<int> * > kontaineria rivien säilytykseen ja johon pusketaan std::vector<int>:jä
B) Hyvä herra kirjoitat C++:aa TAI C:tä, et molempia. C++:ssa standardi kirjaston headereissa EI KÄYTETÄ .h päättettä. Ei missään. Ei edes C:n kirjastoissa, vaan esim #include <stdlib.h> tulee #include <cstdlib>.
C) new heapista ja auto pinosta.
No nii-in.. "Laittakaa natsi erään ja menkää itse perään." Minä kyselin teiltä neuvoja, mitään kunnollista/ymmärrettävää ei tullut. Ja nyt kun postasin luullakseni toimivan koodinpätkän, niin olin tehnyt sen väärin. Noh kiitos nyt noista jokseenkin epäselvistä neuvoista.
Kuinka muuten sitten SDL:n kanssa, miten sen includetan ilman .h päätettä?
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.

User avatar
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm
Contact:

Re: C++ -kysymykset

Post by Koodiapina » Thu Aug 19, 2010 8:44 pm

MaGetzUb wrote:Kuinka muuten sitten SDL:n kanssa, miten sen includetan ilman .h päätettä?
SDL:n perään kuuluu se .h-pääte, koska se on C-kirjasto.
Olen liian älykäs ollakseni väärässä. Jos olet kanssani eri mieltä, suosittelen sinua pohtimaan omaa elämänkatsomustasi ja sen perusteita.

User avatar
JATothrim
Tech Developer
Tech Developer
Posts: 606
Joined: Tue Aug 28, 2007 6:46 pm
Location: Kuopio

Re: C++ -kysymykset

Post by JATothrim » Thu Aug 19, 2010 9:43 pm

MaGetzUb wrote: No nii-in.. "Laittakaa natsi erään ja menkää itse perään." Minä kyselin teiltä neuvoja, mitään kunnollista/ymmärrettävää ei tullut. Ja nyt kun postasin luullakseni toimivan koodinpätkän, niin olin tehnyt sen väärin. Noh kiitos nyt noista jokseenkin epäselvistä neuvoista.
Kuinka muuten sitten SDL:n kanssa, miten sen includetan ilman .h päätettä?
Hubz, tarkoitin siis että C/C++:n kääntäjän mukana tulevat standardikirjaston headerit pitäisi laittaa noin. Jos kirjasto on esim. itse asenneltu, niin ei ole väliä kuinka #include-ttelet niitä tiedostoja. Voit kokeilla #include <cstdlib>:n ja #include <stdlib.h> eroa: ensimmäinen syytää kaikki funktionsa järkevästi std:: nimiavaruuden alle, mutta toinen ei. (windows.h on C++ koodajalle yksi kauhistus, koska se saastuttaa globaalin nimiavaruuden pahanpäiväisesti. Kokeilin #includettaa windoows.h:n oman nimiavaruuden sisällä, mutta kääntäjä ei oikein pitänyt tästä. :mrgreen: Se siitä sitten. )
-On selkeästi impulsiivinen koodaaja joka...
ohjelmoi C++:lla rekursiivisesti instantioidun templaten, jonka jokainen instantiaatio instantioi sekundäärisen singleton-template-luokan, jonka jokainen instanssi käynistää säikeen tulostakseen 'jea'.

User avatar
Sami The Great
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 4:15 pm
Contact:

Re: C++ -kysymykset

Post by Sami The Great » Fri Aug 20, 2010 12:32 am

Sain ratkottua tuon aikaisemman ongelmani, mutta näyttää siltä, että SDL:n sisällyttäminen samaan ohjelmaan wxWidgets kirjaston kanssa ei oikein toimi, koska kun SDL:n video-osuuden alustaa, menee wxWidgets:in piirtojärjästykset perinpohjaisesti sekaisin :D Pitää siis vain unohtaa tämä yhdistelmä systeemi ja tehdä GUI pelkästään SDL:ää käyttäen. Olen siis tilemappi editoria tekemässä sekä omaa tilemappi formaattia ja sen piirtosysteemiä, johon olisi tarkoitus tulla tuki varjoille sekä eri muotoisille HIT-kerros palikoille (kolmiot sekä pienemmät neliöt kuin itse tile). Formaatin olen jo suunnitellut ja koodannut systeemin tiedon säilyttämiseen muistissa. Pitää välillä koodailla myös vähän C++:lla, ettei ihan pääse unohtumaan.
http://www.rockodilegames.com
CoolBasickin käyttäjä vuodesta 2004.

User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: C++ -kysymykset

Post by esa94 » Fri Aug 20, 2010 8:05 am

Sami The Great wrote:Sain ratkottua tuon aikaisemman ongelmani, mutta näyttää siltä, että SDL:n sisällyttäminen samaan ohjelmaan wxWidgets kirjaston kanssa ei oikein toimi, koska kun SDL:n video-osuuden alustaa, menee wxWidgets:in piirtojärjästykset perinpohjaisesti sekaisin :D Pitää siis vain unohtaa tämä yhdistelmä systeemi ja tehdä GUI pelkästään SDL:ää käyttäen. Olen siis tilemappi editoria tekemässä sekä omaa tilemappi formaattia ja sen piirtosysteemiä, johon olisi tarkoitus tulla tuki varjoille sekä eri muotoisille HIT-kerros palikoille (kolmiot sekä pienemmät neliöt kuin itse tile). Formaatin olen jo suunnitellut ja koodannut systeemin tiedon säilyttämiseen muistissa. Pitää välillä koodailla myös vähän C++:lla, ettei ihan pääse unohtumaan.
Eikös wxWidget tue OpenGL-ikkunoita? Mikset siis käyttäisi niitä?

User avatar
KilledWhale
Tech Developer
Tech Developer
Posts: 543
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

Re: C++ -kysymykset

Post by KilledWhale » Fri Aug 20, 2010 8:37 am

Sami The Great wrote:Sain ratkottua tuon aikaisemman ongelmani, mutta näyttää siltä, että SDL:n sisällyttäminen samaan ohjelmaan wxWidgets kirjaston kanssa ei oikein toimi, koska kun SDL:n video-osuuden alustaa, menee wxWidgets:in piirtojärjästykset perinpohjaisesti sekaisin :D Pitää siis vain unohtaa tämä yhdistelmä systeemi ja tehdä GUI pelkästään SDL:ää käyttäen. Olen siis tilemappi editoria tekemässä sekä omaa tilemappi formaattia ja sen piirtosysteemiä, johon olisi tarkoitus tulla tuki varjoille sekä eri muotoisille HIT-kerros palikoille (kolmiot sekä pienemmät neliöt kuin itse tile). Formaatin olen jo suunnitellut ja koodannut systeemin tiedon säilyttämiseen muistissa. Pitää välillä koodailla myös vähän C++:lla, ettei ihan pääse unohtumaan.
SDL:n päälle voisin suositella Paragui-nimistä kirjastoa. Erittäin mallikkaasti toimivat GUI-komponentit. Projekti on nykyään kai jokseenkin kuollut, mutta tiedostot löytää vielä näppärästi googlailemalla ja ne ovat myös useiden linux-jakeluiden repoissa :)
CoolBasic henkilökuntaa
Kehittäjä

cbFUN Kello
cbSDL
Whale.dy.fi

<@cce> miltäs tuntuu olla suomen paras

User avatar
JATothrim
Tech Developer
Tech Developer
Posts: 606
Joined: Tue Aug 28, 2007 6:46 pm
Location: Kuopio

Re: C++ -kysymykset

Post by JATothrim » Fri Aug 20, 2010 8:33 pm

esa94 wrote:
Sami The Great wrote:Sain ratkottua tuon aikaisemman ongelmani, mutta näyttää siltä, että SDL:n sisällyttäminen samaan ohjelmaan wxWidgets kirjaston kanssa ei oikein toimi, koska kun SDL:n video-osuuden alustaa, menee wxWidgets:in piirtojärjästykset perinpohjaisesti sekaisin :D Pitää siis vain unohtaa tämä yhdistelmä systeemi ja tehdä GUI pelkästään SDL:ää käyttäen. Olen siis tilemappi editoria tekemässä sekä omaa tilemappi formaattia ja sen piirtosysteemiä, johon olisi tarkoitus tulla tuki varjoille sekä eri muotoisille HIT-kerros palikoille (kolmiot sekä pienemmät neliöt kuin itse tile). Formaatin olen jo suunnitellut ja koodannut systeemin tiedon säilyttämiseen muistissa. Pitää välillä koodailla myös vähän C++:lla, ettei ihan pääse unohtumaan.
Eikös wxWidget tue OpenGL-ikkunoita? Mikset siis käyttäisi niitä?
tukee mutta siitä pitää säätää aika helvetillisesti. ProTip: overridaa ikkunan tyhjennys/whatever niin GL piirtyy nätisti. Mulla on tästä toimivahko viritelmä. 8-)
-On selkeästi impulsiivinen koodaaja joka...
ohjelmoi C++:lla rekursiivisesti instantioidun templaten, jonka jokainen instantiaatio instantioi sekundäärisen singleton-template-luokan, jonka jokainen instanssi käynistää säikeen tulostakseen 'jea'.

User avatar
Dibalo
Advanced Member
Posts: 298
Joined: Mon Aug 27, 2007 8:12 pm
Location: Espoo, Finland
Contact:

Re: C++ -kysymykset

Post by Dibalo » Sat Aug 21, 2010 11:45 am

wxWidgetsin ja SDL:n yhdistämiseen löytyi puolen minuutin Googletuksen jälkeen varsin hyvä tuto: http://code.technoplaza.net/wx-sdl/part1/
Eipä tuo minusta kovin vaikealta näyttänyt.
The darkest spells can be found from
http://tunkkaus.blogspot.fi

Post Reply