voisko joku kertoo mistä ton kirjaston saa ladattuu?
Täällä näyttäisi olevan jotain siihen liittyvää.
Edit. jaahas, olinpas minä hidas..
Edit 2: Jatketaanpas tätä ketjua:
Yritän asentaa ks. paketin, ja käännösvaiheessa saan seuraavanlaisen virheilmoituksen:
H:\SDLGFX>nmake Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. makefile(12) : fatal error U1035: syntax error : expected ':' or '=' separator Stop.
Kopioin VisualC6.zip kansiosta makefilen pääkansioon, ja ajoin tuon nmaken.
mullakin ois vähän kysyttävää.
Tein tommosen koodin:
#include <stdio.h> #include <SDL.h> #include <SDL_gfxPrimitives.h> // Sisältää pixelRGBA funktion. int main() { // Arvoja pixelRGBA:n käyttöön. Uint8 r, g, b, a; r = g = b = 125; a = 1; Sint16 x, y; x = y = 55; SDL_Surface* screen; screen = SDL_SetVideoMode(640,480,32,SDL_HWSURFACE|SDL_DOUBLEBUF); if(screen == NULL) { fprintf(stderr, "Unable to set videomode %s",SDL_GetError()); return 1; } pixelRGBA(screen, x, y, r,g,b,a); // Yritetaan piirtaa kohtaan xy pikseli. return 0; }
se käänty ihan kiltisti, mut ku yritin ajaa sen ni tuli tämmöset errorit:
--------------------Configuration: viiva - Win32 Debug--------------------
Compiling...
viiva.cpp
Linking...
viiva.obj : error LNK2001: unresolved external symbol __imp__pixelRGBA
viiva.obj : error LNK2001: unresolved external symbol _SDL_GetError
viiva.obj : error LNK2001: unresolved external symbol _SDL_SetVideoMode
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/viiva.exe : fatal error LNK1120: 4 unresolved externals
Error executing link.exe.
viiva.exe - 5 error(s), 0 warning(s)
Tietääks joku mitä noi tarkottaa ja miten saan ne pois?
elkku2 -> Pitäisikö sun linkittää jotain libbejä? Itselläni tulee samantapaisia virheitä jos unohtuu libit...
Elkku2:
Näyttääpä tutulta pätkältä ;).
int x, y; x = y = 100; // Piirtää punaisen pikselin kohtaan xy. pixelColor(screen, x, y, 0xFF0000FF);
Alfa(väri/bitti?) kannattaa laittaa 0xFF (eli 255?), jotta sen värin edes näkee ruudulta. Eli niitä värejä "käytetään" - luulisin ainakin - antamalla heksa-arvo.
// esim. harmaahko väri: Uint8 red, blue, green; red = blue = green = 0xCC; pixelRGBA(screen, 55, 66, red, green, blue, 0xFF);
Toivottavasti joku korjaa (jos tuossa jotain väärin on), aika heppoisella muistipohjalla tuo homma on minulla tuntuu olevan. Ja en ole testannut tuota pixelRGBA -hommaa, totesin silloin joskus pixelColorin riittävän minulle.
Ja pari omaa tyhmää kysymystä:
Voiko Uint8 -tyyppisiin muuttujiin sijoittaa tavallisia kokonaislukuja - olettaisin ainakin näin? Ovatko hyväksyttävät arvot sitten väliltä 0 - 255?
Aruviel kirjoitti:
Ja pari omaa tyhmää kysymystä:
Voiko Uint8 -tyyppisiin muuttujiin sijoittaa tavallisia kokonaislukuja - olettaisin ainakin näin? Ovatko hyväksyttävät arvot sitten väliltä 0 - 255?
Kyllä, Uint8 tarkoittaa etumerkitöntä 8-bittistä kokonaislukua, eli sallittavat arvot ovat välillä 0-255.
Aihe on jo aika vanha, joten et voi enää vastata siihen.