CS
VB, VB.NET
ASP.NET,ASP
C, C++
ColdFusion
PHP
Javascript
Delphi
Flash
Java
Graphisme
Irc
Assembleur
C#
Mobilité
SQL
Foxpro
Python
Regex
Flex
Windev
Ce site au démarrage
Derniers codes
Outils
Divers
Connexion
Visual Basic
ASP
C++
ColdFusion
PHP
Javascript
Delphi
Flash
Java
Graphisme
Irc
Assembleur
C#
Mobilité
SQL
Foxpro
Python
Regex
Flex
Statistiques ;-)
Crédits
>>
Sites CodeS-SourceS
Visual basic
C++
C#
Java
PHP
ASP
ASP.NET
ColdFusion
Delphi
Javascript
Flash
Flex / AIR
Graphisme
Assembleur
IRC
Mobilité
SQL
FoxPro
Python
CodeS-SourceS ToolBox
Convertisseur C#<->VB
Colorisation de Code
Table ASCII
Trouver un fichier de code source :
Version Française -
English Version
Accueil
>
C++
>
BASE/MOTEUR 3D EN QT/OPENGL (COMPLET ET FONCTIONNEL!) POUR UN TRÈS PROCHAIN JEU 3D
>
Envi3D/MainWindow.h
BASE/MOTEUR 3D EN QT/OPENGL (COMPLET ET FONCTIONNEL!) POUR UN TRÈS PROCHAIN JEU 3D
Envi3D/MainWindow.h
Informations sur ce code source
Code Source
BASE/MOTEUR 3D EN QT/OPENGL (COMPLET ET FONCTIONNEL!) POUR UN TRÈS PROCHAIN JEU 3D
Auteur
envi33
Fichier
Envi3D/MainWindow.h en
C / C++ / C++.NET
Publié le
25/07/2011
Mis à jour le
25/07/2011
Bonjour à tous, Voici un moteur 3D gérant les textures tous formats (supporté par QT) et contient un loader de fichier .obj que j'ai écrit personnellement. Il permet d'illustrer l'utilisation de deux QGLWidget en même temps et comment se servir de
Fichier :
Envi3D/MainWindow.h
Nombre de lignes :
115 lignes
Afficher ce fichier en plein écran
/*
Auteur : Xcxl
Date : lun. aout 4 2008
Role : Classe principal du programme, elle contient les deux QGLwidget et c'est d'elle que l'on crée
les objets le joueur. Elle gère surtout les entrées souris/clavier, envoie les données recoltés
aux qglwidget ou au objet et appelle les updateGL périodiquement
Elle herite de QMainWindow
*/
#ifndef DEF_MAINWINDOW
#define DEF_MAINWINDOW
#include <GL/gl.h>
#include <GL/glu.h>
#include <QMainWindow>
#include <QApplication>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QPushButton>
#include <QLabel>
#include <QPoint>
#include <QCheckBox>
#include <QMenuBar>
#include <QProgressBar>
#include <QWidget>
#include <QSpacerItem>
#include <QString>
#include <QFile>
#include <QTimer>
#include <iostream>
#include <QDebug>
#include "
OpenGLWidget.h
"
#include "
Objets.h
"
#include "
Coord3D.h
"
#include <QStringList>
class
MainWindow :
public
QMainWindow
{
Q_OBJECT
public
:
MainWindow();
private
slots:
void
affichageDonnee(
bool
valeur =
true
);
void
affichageDuFPS();
void
affichageLabelFPS(
bool
valeur =
false
);
void
affichageMinicarte(
bool
valeur =
true
);
void
cycleTimerJeu();
private
:
void
lancerJeu();
//lance les deux timers; rafraichissement de l'image et compteur de FPS
void
stopperJeu();
void
gestionArme();
void
mousePressEvent ( QMouseEvent * event );
void
mouseReleaseEvent ( QMouseEvent * event );
void
mouseMoveEvent(QMouseEvent *event);
void
wheelEvent(QWheelEvent *event);
//roulette de la souris
void
keyPressEvent(QKeyEvent *event);
//gestion des touches
void
keyReleaseEvent ( QKeyEvent * event );
QTimer *timerJeu;
QTimer *timerFPS;
bool
enPause;
int
_numCycle;
//le nombre de cycle de timer, pour le calcul du FPS
bool
rafraichirData;
bool
minicarteActive;
QWidget *zoneCentrale;
QCheckBox *checkBoxMinicarte;
QLabel *labelVitesse;
QProgressBar *barVitesse;
QLabel *labelVie;
QProgressBar *barVie;
QLabel *labelMunitions;
QProgressBar *barMunitions;
QLabel *labelChargeArme;
QProgressBar *barChargeArme;
QLabel *labelPresFPS;
QLabel *labelFPS;
QPushButton *quitter;
OpenGLWidget *vuePrincipal;
OpenGLWidget *miniCarte;
Personnage *joueur;
int
_tailleTerrainX;
int
_tailleTerrainY;
int
nombreObjets;
Objet *liste_objets[50];
//tableau de pointeur vers des objets
bool
anti_repetition;
bool
sourisSurWidget;
QPoint oldPosSouris;
QPoint newPosSouris;
int
x_ancien;
int
y_ancien;
};
#endif