Pages vues depuis 25/07/2007 : 25 234 810
Index du forum »» OS4 toutes plateformes confondues »» AmiDARK Engine - Alpha WIP - 2D Demo
/***********************************************************
**
**?AmiDARK?Engine?Development?Project
**------------------------------------
**
**?Sample?:?Textures/Images?demonstration
**?Author?:?Frederic?Cordier
**?Date?:???2009JUI22-043821?**
************************************************************
*/
#!!!include!!!?"AmiDARKEngine.c"
??int?ILoop;
??float?XMountain[3];
??float?XTrees[?4?];
??float?XHerbs[?3?];
??float?XClouds[5][?2?];
void?DarkLoop(?void?){
??//?Crée?l'affichage?en?mode?640x480?en?32bits.
??DESetDisplayMode(?640,?480,?32?);
??//?Définit?les?positions?initiales?des?3?images?de?décor?de?montagnes.
??XMountain[?1?]?=?0.0;
??XMountain[?2?]?=?512.0;
??XMountain[?3?]?=?1024.0;
??//?Idem?pour?les?4?images?d'arbres.
??XTrees[?1?]?=?0.0;
??XTrees[?2?]?=?512.0;
??XTrees[?3?]?=?1024.0;
??XTrees[?4?]?=?1536.0;
??//?Idem?pour?les?3?images?d'herbes.
??XHerbs[?1?]?=?0.0;
??XHerbs[?2?]?=?512.0;
??XHerbs[?3?]?=?1024.0;
??//?Idem?pour?les?nuages.
??XClouds[1][?1?]?=?0.0;
??XClouds[1][?2?]?=?640.0;
??XClouds[2][?1?]?=?0.0;
??XClouds[2][?2?]?=?640.0;
??XClouds[3][?1?]?=?0.0;
??XClouds[3][?2?]?=?640.0;
??XClouds[4][?1?]?=?0.0;
??XClouds[4][?2?]?=?640.0;
??XClouds[5][?1?]?=?0.0;
??XClouds[5][?2?]?=?640.0;
??//?Definition?du?nombre?maximum?de?textures/images?dont?on?a?besoin.
??DESetMaximumTextures(?13?);
??//?Chargement?de?toutes?les?images?pour?la?démonstration.
??DELoadImageEx(?"Images/RTSky02_SunWake05.png",?1,?0?);
??DELoadImageEx(?"Images/Mountains512.png",?2,?0?);
??DELoadImageEx(?"Images/Layer_Trees512A.png",?3,?0?);
??DELoadImageEx(?"Images/Layer_Trees512B.png",?4,?0?);
??DELoadImageEx(?"Images/Layer_Herbs512.png",?5,?0?);
??DELoadImageEx(?"Images/Layer_Water640.png",?6,?0?);
??DELoadImageEx(?"Images/Layer_Cllouds4[640x12]_Alpha.png",?7,?0?);
??DELoadImageEx(?"Images/Layer_Cllouds3[640x18]_Alpha.png",?8,?0?);
??DELoadImageEx(?"Images/Layer_Cllouds2[640x38]_Alpha.png",?9,?0?);
??DELoadImageEx(?"Images/Layer_Cllouds1[640x80]_Alpha.png",?10,?0?);
??DELoadImageEx(?"Images/Layer_Cllouds0[640x42]_Alpha.png",?11,?0?);
??DELoadImageEx(?"Images/Layer_Ground[640x60].png",?12,?0?);
??DELoadImageEx(?"Images/Logo.png",?13,?0?);
??DECls();
??while(?!DELoop()?){
????//?Tracé?du?fond?de?ciel?bleu?avec?le?soleil?et?la?lune.
????DEPasteImage(?1,?0,?0?);
????//?Gestion?du?scrolling?des?montagnes?devant?le?fond?de?ciel?bleu.
????for?(?ILoop?=?1;?ILoop?4;?ILoop++?){
??????XMountain[?ILoop?]?=?XMountain[?ILoop?]?-?0.25;
??????if?(?XMountain[?ILoop?]?-640.0?){
????????XMountain[?ILoop?]?=?XMountain[?ILoop?]?+?640.0;
???????}
??????DEPasteImageEx(?2,?(int)XMountain[?ILoop?],?224,?1?);
??????//?Affichage?de?l'eau?qui?se?déplace?en?parallèle?des?montagnes.
??????DEPasteImage(?6,?(int)XMountain[?ILoop?],?320?);
?????}
????//?Gestion?du?scrolling?des?arbres?devant?les?montagnes?et?le?ciel?bleu.
????for?(?ILoop?=?1;?ILoop?5;?ILoop++?){
??????XTrees[?ILoop?]?=?XTrees[?ILoop?]?-?0.70;
??????if?(?XTrees[?ILoop?]?-512?){
????????XTrees[?ILoop?]?=?XTrees[?ILoop?]?+?2048.0;
???????}
?????}
????//?Gestion?des?scrollings?des?nuages?sur?les?5?plans
????for?(?ILoop?=?1;?ILoop?3;?ILoop++?){
??????XClouds[1][?ILoop?]?=?XClouds[1][?ILoop?]?-?0.15;
??????if?(?XClouds[1][?ILoop?]?-640.0?){
????????XClouds[1][?ILoop?]?=?XClouds[1][?ILoop?]?+?640.0;
???????}
??????XClouds[2][?ILoop?]?=?XClouds[2][?ILoop?]?-?0.30;
??????if?(?XClouds[2][?ILoop?]?-640.0?){
????????XClouds[2][?ILoop?]?=?XClouds[2][?ILoop?]?+?640.0;
???????}
??????XClouds[3][?ILoop?]?=?XClouds[3][?ILoop?]?-?0.45;
??????if?(?XClouds[3][?ILoop?]?-640.0?){
????????XClouds[3][?ILoop?]?=?XClouds[3][?ILoop?]?+?640.0;
???????}
??????XClouds[4][?ILoop?]?=?XClouds[4][?ILoop?]?-?0.60;
??????if?(?XClouds[4][?ILoop?]?-640.0?){
????????XClouds[4][?ILoop?]?=?XClouds[4][?ILoop?]?+?640.0;
???????}
??????XClouds[5][?ILoop?]?=?XClouds[5][?ILoop?]?-?0.75;
??????if?(?XClouds[5][?ILoop?]?-640.0?){
????????XClouds[5][ILoop?]?=?XClouds[5][?ILoop?]?+?640.0;
???????}
?????}
????DEPasteImageEx(?7,?XClouds[1][?1?],?178,?1?);
????DEPasteImageEx(?7,?XClouds[1][?2?],?178,?1?);
????DEPasteImageEx(?8,?XClouds[2][?1?],?160,?1?);
????DEPasteImageEx(?8,?XClouds[2][?2?],?160,?1?);
????DEPasteImageEx(?9,?XClouds[3][?1?],?122,?1?);
????DEPasteImageEx(?9,?XClouds[3][?2?],?122,?1?);
????DEPasteImageEx(?10,?XClouds[4][?1?],?42,?1?);
????DEPasteImageEx(?10,?XClouds[4][?2?],?42,?1?);
????DEPasteImageEx(?11,?XClouds[5][?1?],?0,?1?);
????DEPasteImageEx(?11,?XClouds[5][?2?],?0,?1?);
????//?Affichage?des?arbres?devant?le?décor?de?fond.
????for(?ILoop?=?1;?ILoop?3;?ILoop++?){
??????DEPasteImageEx(?ILoop?+?2,?(int)XTrees[?ILoop?],?214,?1?);
??????DEPasteImageEx(?ILoop?+?2,?(int)XTrees[?ILoop?+?2?],?214,?1?);
??????DEPasteImage(?12,?(int)XTrees[?ILoop?],?420?);
??????DEPasteImage(?12,?(int)XTrees[?ILoop?+?2?],?420?);
?????}
????//?Gestion?du?scrolling?des?herbes?devant?les?arbres.
????for?(?ILoop?=?1;?ILoop?4;?ILoop++?){
??????XHerbs[?ILoop?]?=?XHerbs[?ILoop?]?-?1.0;
??????if?(?XHerbs[?ILoop?]?-?512?){
????????XHerbs[?ILoop?]?=?XHerbs[?ILoop?]?+?1536.0;
???????}
??????DEPasteImageEx(?5,?XHerbs[?ILoop?],?440,?1?);
?????}
????//?Affichage?du?logo?de?la?démo?en?plein?milieu?de?l'écran.
????DEPasteImageEx(?13,?64,?48,?1?);
????//?Synchro.
????DESync();
???}
// On supprime les images de la mémoire.
??for?(?ILoop?=?1;?ILoop?14;?ILoop++?){
????DEDeleteImage(?ILoop?);
???}
?}