September 7, 2001
Hej, jag skulle vara evigt tacksam om nån vill förklara hur man gör en sinus-scroll grejj, helst om ni kan skriva hela koden. Jag använder TinyPTC och om det gör er något klockare så kan ni ju kolla på test.c :
//
// TinyPTC by Gaffer
// http://www.gaffer.org/tinyptc
//
#include
#include
#include "tinyptc.h"
#define WIDTH 320
#define HEIGHT 200
#define SIZE WIDTH*HEIGHT
#define PutPixel(x,y,r,g,b) pixel[x+(320*y)] = (r<<16) | (g<<8)|b; // Mycket käckt... Det är alltså PutPixel(x-position, y-position, röd, grön, blå);
#define ClearScreen int apanapan;for(apanapan=0;apanapan<(64000);apanapan++){pixel[apanapan]=0;} // Inte världens snyggaste ClearScreen, men den funkar
static int noise;
static int carry;
static int index;
int count;
static int seed = 0x12345;
static int pixel[SIZE];
struct stjarnstruct
{
float x;
int y;
float z; /* inte riktig 3d, bara färg/hastighet */
}stjarna[5000];
int main()
{
int tmp1;
int tmp2;
if (!ptc_open("Fina stjänor!",WIDTH,HEIGHT)) return 1;
for(count=0;count<320;count++)
{
// PutPixel(10,10,255,255,255);
stjarna[count].x = rand()%320;
stjarna[count].y = rand()%200;
stjarna[count].z = rand()%255;
}
while (1)
{
ClearScreen;
for(count=0;count<300;count++)
{
if(stjarna[count].x<0)
{stjarna[count].x = 319; stjarna[count].y=rand()%200; stjarna[count].z=rand()%255;}
else
{stjarna[count].x-=9/stjarna[count].z;}
tmp1=stjarna[count].z;
tmp2=stjarna[count].x;
PutPixel(tmp2,stjarna[count].y,255-tmp1,255-tmp1,255-tmp1);
}
ptc_update(pixel);
}
}
Jag har rätt brottom och jag har inte kunnat hitta nåt ställe där det står å jag e rätt newbie på grejjerna.
August 7, 2001
testa att rita sprites på positioner som du får fram på ngon position i stil med typ
y=(sinx/50)*200 lr något liknande. en sinusscroller är ju inte allt för svårt att göra. om du inte skall ha så att spritese böjer sig efter sinusvågen, det är inte speciellt svårt det heller.
2 Guest(s)