|
From: David G. <dav...@li...> - 2001-05-25 23:39:39
|
Hello merry fellows, Parall=E8lement au nouveau relookage de pinecake, voil=E0 ce que je propose= =20 pour l'autre c=F4t=E9 (je veux parler de PineApple) **************************** Chargement de la carte : On passe une adresse de fichier =E0 un objet PaMap qui d=E9termine= l'extension=20 du fichier. S'il d=E9tecte l'extension arold, il cr=E9e un objet AroldLoader qui se= charge=20 de d=E9tecter la version d'enregistrement et qui charge en m=E9moire tout le fichier. PaMap fait le travail suppl=E9mentaire non pris en charge par arold : - Chargement des textures (s'il y en a) - Chargement du splashscreen (s'il y en a) - Conversion des donn=E9es dans un format compatible avec le render L'avantage : le AroldLoader ne fait pas plus que n=E9cessaire et on se=20 r=E9serve le droit de pouvoir charger des cartes =E0 partir d'autres formats (par exemple un package plus complet qui contiendrait les textures,= =20 les personnages...) ***************************** Cr=E9ation d'un Render et d'un DisplayContext On charge les textures dans le DisplayContext en s'adressant au PaMap. ***************************** Cr=E9ation d'un gestionnaire des entr=E9es ***************************** Cr=E9ation d'un PaStaff Il regroupe tous les personnages (le joueur y compris) qui =E9volueront dans= =20 le monde. Ils sont identifi=E9s comme LOCAL_PLAYER, BOT ou REMOTE_PLAYER (pour les=20 parties r=E9seaux). Le personnage LOCAL_PLAYER est attach=E9 au gestionnaire des entr=E9es. On d=E9finit le personnage qui sera l'observateur. C'est =E0 partir de son= =20 point de vue que sera repr=E9sent=E9e la sc=E8ne =E0 l'=E9cran. Par d=E9faut le LOCAL_PLAYER est aussi l'observateur mais ce n'est pas=20 obligatoire. Toutes ces =E9tapes peuvent =EAtre r=E9p=E9t=E9es durant la partie (ajout= d'un=20 personnages, modification de l'affichage...). ********************************** Cr=E9ation du moteur de jeu : PineApple On attache au moteur la PaMap, le PaStaff et le DisplayContext Le moteur assigne =E0 chaque personnage un emplacement de d=E9part (la liste= =20 des emplacements et fournies par la PaMap). On lance la boucle de jeu : Le moteur demande la mise =E0 jour des personnages (c'est durant cette phase= =20 que se fait la gestion des collisions). Le moteur d=E9termine les secteurs =E0 rendre selon le point de vue de=20 l'observateur. Le moteur passe au DisplayContext tous les secteurs =E0 rendre. On boucle... Remarque : durant la mise =E0 jour des personnages, ces derniers peuvent=20 envoyer des messages au moteur. Le message le plus =E9vident, c'est lorsque le LOCAL_PLAYER sort du jeu : la= =20 boucle de rendu s'arr=EAte. Voil=E0 pour les grandes lignes, si tout le monde est d'accord, on pourra=20 bient=F4t voir PineApple =E0 l'oeuvre... A+ Spoonless |