TRPixelServer
YASAKLANDI
- Mesajlar
- 47
- En iyi cevaplar
- 0
- Beğeniler
- 47
- Puanları
- 70
- Ruh hali
Daha öncesinde Penceremizi yapmıştık arkadaşlar.Şimdi sırada hareket var ama ilk önce int main yazan yere glutDisplayFuncun tam altına şunu yazıyoruz glutKeyboardFunc (keyboard); bu klavyeden gelen girdileri kabul etcek komut.
ardından projenin en başına includenin altına şunu yerleştiriyoruz:
int Tx = 0;
int Ty = 0;
int Tz = 0;
sahnemizin basına glTranslatef(Tx,Ty,Tz); yazıyoruz bu olmadan calısmaz
dipslayın tam altına bunu koyuyoruz:
artık oyun motorumuz tamamı ile hareket ettirelbilir bir ortamda.
Ancak kodda bir bug bulunmakta ben saatlerce bunun icin ugrastim ancak bulamadım normalde bu yazıyı acmadan once kodu yazdım ancak kod calısıodu simdi buga girmis ekrana tıklayınca rastgele bir yere ısınlamakta dogru kodu yazan olursa okuyan arkadaslara yardımcı olurlar ondan dolayı bir sonraki derste calisan bir kod verecegim
Ben bunları yapmak icin 2 saat emek veriorum lutfen 1 begeniyi cok gormeyin turkce kaynak zor bu konularda
ardından projenin en başına includenin altına şunu yerleştiriyoruz:
int Tx = 0;
int Ty = 0;
int Tz = 0;
sahnemizin basına glTranslatef(Tx,Ty,Tz); yazıyoruz bu olmadan calısmaz
dipslayın tam altına bunu koyuyoruz:
C++:
void keyboard(unsigned char key, int x, int y)
{
switch (key) {
case 'w':
case 'W':
Tz --;
break;
case 's':
case 'S':
Tz ++;
break;
case 'a':
case 'A':
Tx --;
break;
case 'D':
case 'd':
Tx ++;
break;
case 'E':
case 'e':
Ty ++;
break;
case 'Q':
case 'q':
Ty --;
break;
}
glutPostRedisplay();
}
artık oyun motorumuz tamamı ile hareket ettirelbilir bir ortamda.
Ancak kodda bir bug bulunmakta ben saatlerce bunun icin ugrastim ancak bulamadım normalde bu yazıyı acmadan once kodu yazdım ancak kod calısıodu simdi buga girmis ekrana tıklayınca rastgele bir yere ısınlamakta dogru kodu yazan olursa okuyan arkadaslara yardımcı olurlar ondan dolayı bir sonraki derste calisan bir kod verecegim
C++:
#include <iostream> //cout icin
#include <stdio.h>
#include <time.h>
#include <unistd.h>
#include <dos.h>
#include <time.h>
#include <windows.h> // MS Windows icin
#include <GL/glut.h> // GLUT, include glu.h ve gl.h
int Tx = 0;
int Ty = 0;
int Tz = 0;
void display() {
glTranslatef(Tx,Ty,Tz);
glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // Arkaplanı siyah ve opaga ayarla
glClear(GL_COLOR_BUFFER_BIT); // Arkaplan rengi buffer temizleyici (arkaplan)
glColor3f(4,0,0);
glutSolidCube(1);
glFlush(); // Şimdi renderle
}
void keyboard(unsigned char key, int x, int y)
{
switch (key) {
case 'w':
case 'W':
Tz --;
break;
case 's':
case 'S':
Tz ++;
break;
case 'a':
case 'A':
Tx --;
break;
case 'D':
case 'd':
Tx ++;
break;
case 'E':
case 'e':
Ty ++;
break;
case 'Q':
case 'q':
Ty --;
break;
}
glutPostRedisplay();
}
/* Ana fonksiyon() */
int main(int argc, char** argv) {
glutInit(&argc, argv); // Glutu Başlat
glutCreateWindow("FORUM.GAMER.TR"); // Başlığı
glutInitWindowSize(320, 320); // Pencerenin eni boyu
glutInitWindowPosition(50, 50); // Pencrenin konumu
glutDisplayFunc(display); // Sahneyi canlandır
glutKeyboardFunc (keyboard);
glutMainLoop(); // Döngü
return 0;
}