Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: rajapinta Ceelle

p-p [25.06.2005 14:59:14]

#

Mikä olisi hyvä rajapinta C-kielelle? SDL:lää kokeilin, mutta en tykännyt.

onko OpenGL tai D3D mitään? Ja eikös se DX ole kanssa myös yksi rajapinta, eli mikä on näistä kolmesta parhain/helpoin?

Gaxx [25.06.2005 15:30:18]

#

Itse suosittelen, että käytät SDL:ää, jos et ole tottunut käsittelemään suuria määriä koodia vain luodaksesi yhden vaivaisen ikkunan. Jos syy siihen, että et tykännyt SDL:stä on se, että se tuntui sekavalta, vaikealta tai ei ottanut muuten vain toimiakseen, on turha siirtyä OpenGL:n tai DirectX:n sillä ne ovat monta kertaa hankalampia. Tällaisessa tapauksessa ainoa järkevä syy käyttää kahta viimeksi mainittua rajapintaa on, että tekee 3D pelin, mutta jos ei SDL tunnut onnistuvan niin sanoisin, että ei ole mahdollisuuksia tehdä myöskään 3D peliä.

D3D on osa DX:ää. OpenGL on käyttöjärjestelmä riippumaton, mutta se on sitten vain grafiikka kirjasto. DirectX toimii vain windows alustoilla, mutta se sisältää kaikki pelintekemiseen tarvittavat ominaisuudet.

OpenGL:llä voi kylläkin piirtää SDL:llä luotuun ikkunaan, mutta tee ne 2D pelit ainakin näin alkuun kokonaan sillä SDL:llä.

Zach [25.06.2005 16:07:14]

#

Jos SDL kuitenkin tuntuu liian vaikealta, voisit kokeilla Allegroa, joka on ehkä vielä hieman helpompi aloittelijalle. Itse en siitä kyllä suuremmin pidä, ja se tuntuu melko hitaalta. http://www.allegro.cc

FooBat [25.06.2005 16:18:23]

#

Kokeile tykkäätkö wxWidgets tai gtk+ (GIMP toolkit) grafiikkarajapinnoista. Itse en ole käyttänyt kumpaakaan kuin kerran, mutta jäi sellainen kuva, että niillä saa ikkunoita aikaiseksi ihan tarpeeksi vähäisellä vaivalla.

Metabolix [25.06.2005 22:40:58]

#

Gaxx kirjoitti:

OpenGL:llä voi kylläkin piirtää SDL:llä luotuun ikkunaan

Tuon kuulee aivan liian usein. Tiedoksenne, nipottajat, että onnistuu se DirectX:lläkin :)

p-p [26.06.2005 12:02:50]

#

Otin tuosta Allegron ja nyt kun yritin kääntää sitä, niin herjaa jotain ihan kummallisia...

lainaus:

src.fli.c:660: error: invalid lvalue in increment

Noita tulee semmosen parisensataa kappaletta, rivinumero vaa eri.

EDIT: Ja nytpä päätin siirtyä Dev-C++ IDEen ja latasin allegro devpakin ja asensin sen, ei virheitä.

#include <allegro.h>
#include <stdio.h>

int main(void) {
    printf("Eka Allegro ohjelmani!\n\n");
    allegro_init();
    install_keyboard();
    while(!key[KEY_SPACE]) {}
    allegro_exit();
    return 1;
}

Tuommoisessa herjaa

lainaus:

[Linker error] undefined reference to `WinMain@16'
ld returned 1 exit status

Jos laittaa "END_OF_MAIN;" perään, niin herjaa

lainaus:

12 D:\main.cpp expected constructor, destructor, or type conversion before ';' token

Mikä vikana?

EDIT2: Löysin virheen. Se on "END_OF_MAIN();" eikä "END_OF_MAIN;"

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta