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.