Pages vues depuis 25/07/2007 : 25 354 785
Index du forum »» Création-Développement »» AmiDARK Engine Rel0.8 Wip : FX2D part 1 : Fake Rasters
#!!!include!!!?"libamidark.h"
void?DarkLoop(?void?){
??//?On?définit?l'affichage.
??DESetDisplayMode(?640,?400,?32?);
??DESyncOn();
??DESyncRate(?60?);
??//?On?charge?l'image?à?afficher?au?1er?plan.
??DELoadImageEx(?"Medias/Environment.png",?1,?1?);
??//?On?crée?un?nouvel?effet?raster?et?on?défini?les?dégradés?de?couleur.
??FXCreateFakeRaster(?1,?256?);
??FXSetRasterGradient(?1,?0,?DERgb(?32,?32,?64?),?128,?DERgb(?128,?64,?128?)?);
??FXSetRasterGradient(?1,?128,?DERgb(?128,?64,?128?),?255,?DERgb(?255,?255,?255?)?);
??FXUpdateRaster(?1?);?//?On?finalize?le?raster?pour?qu'il?soit?visible.
??//?Boucle?principale?de?la?démonstration.
??while(?!DELoop()?){
????DECls();
????DEPasteImageEx(?1,?0,?0,?1?);
????DESync();?//?Les?effets?raster?sont?mis?à?jour?à?la?synchro?automatiquement.
???}
?}
int kMode = 1; // Default mode display Rasters.
int mKey = 0;
#!include! "libamidark.h"
void DarkLoop( void ){
// Setup the display output.
DESetDisplayMode( 640, 480, 32 );
DESyncOn();
DESyncRate( 60 );
DEInk( DERgb( 255, 255, 255 ), DERgb( 0, 0, 0 ) );
// 1stly we load the needed Image.
DELoadImageEx( "Medias/mRaster_Background.png", 1, 1 );
DELoadImageEx( "Medias/mRaster_Sun.png", 2, 1 );
DELoadImageEx( "Medias/mRaster_Bar.png", 3, 1 );
DELoadImageEx( "Medias/mRaster_AmiDARK_LightShaft.png", 4, 1 );
DELoadImageEx( "Medias/mRaster_AmiDARK.png", 5, 1 );
// The Bar Raster FX.
FXCreateFakeRaster( 1, 56 );
FXSetRasterGradient( 1, 0, DERgb( 0, 0, 0 ), 55, DERgb( 125, 177, 224 ) );
FXSetRasterY( 1, 212 );
FXUpdateRaster( 1 );
FXHideRaster( 1 );
// Main AmiDARK Engine - Multiple Raster - Raster Effect
FXCreateFakeRaster( 2, 107 );
FXSetRasterGradient( 2, 0, DERgb( 0, 0, 0 ), 53, DERgb( 96, 65, 31 ) );
FXSetRasterGradient( 2, 54, DERgb( 96, 65, 31 ), 106, DERgb( 0, 0, 0 ) );
FXSetRasterY( 2, 187 );
FXUpdateRaster( 2 );
FXHideRaster( 2 );
// Raster 3 - BackGround Space Light
FXCreateFakeRaster( 3, 480 );
FXSetRasterGradient( 3, 0, DERgb( 33, 47, 64 ), 64, DERgb( 0, 0, 0 ) );
FXSetRasterGradient( 3, 416, DERgb( 0, 0, 0 ), 479, DERgb( 33, 47, 64 ) );
FXSetRasterY( 2, 0 );
FXUpdateRaster( 3 );
while( !DELoop() ){
DECls();
mKey = DEScanCode();
if ( mKey == 2 ){ kMode = 0; }
if ( mKey == 3 ){ kMode = 1; }
if ( kMode == 1 ){
DEFXImageRasteredEx( 1, 0, 0, 3, 0 ); // Background Image - With raster #3, 480px
DEPasteImageEx( 2, 0, 0, 1 ); // Sun Image - No Transparency
DEFXImageRasteredEx( 3, 0, 212, 1, 1 ); // The Bar Image - With Raster #1, 56px
DEPasteImageEx( 4, 0, 164, 1 ); // Logo Light Shaft - Transparency Only
DEFXImageRasteredEx( 5, 0, 187, 2, 1 ); // AmiDARK Logo - With Raster #2, 106px
}else{
DEPasteImageEx( 1, 0, 0, 0 ); //
DEPasteImageEx( 2, 0, 0, 1 ); // No raster at all!
DEPasteImageEx( 3, 0, 212, 1 ); //
DEPasteImageEx( 4, 0, 163, 1 ); //
DEPasteImageEx( 5, 0, 187, 1 ); //
}
DESetCursor( 0, 0 );
DEPrint( "Press 0 to disable Rasters, 1 to enable raster." );
if ( kMode == 1 ){
DEPrint( "Currently : Rasters = On" );
}else{
DEPrint( "Currently : Rasters = Off" );
}
DESync();
}
}