MetkuMods

OLED-teknologiaa
4D Systemsiltä


 
Kirjoittaja: Aki Korhonen
Julkaistu: 25.06.2009
Valmistaja: 4D Systems
In English In English
Suomeksi Suomeksi

µOLED-32024-P1T, 2.4" OLED-moduuli kosketuspinnalla - Käyttö

Sarjaliikenneohjelmistoa ei ainakaan kirjoitushetkellä ole saatavilla Picaso-prosessorille, joten näyttöä voi käyttää ainoastaan 4DGL:llä. Näyttömoduulin käyttöönotossa oli alussa hieman ongelmaa, koska siihen oli tehtaalla ladattu väärä ohjelmisto, josta johtuen kosketuspaneeli ei toiminut ja 4DGL Workshop kieltäytyi lataamasta ohjelmaa moduulille (täytyi valita väärä näyttömalli, jotta suostui toimimaan). Pienoisen ihmettelyn jälkeen tulin testanneeksi uusimman ohjelmiston lataamista tälle moduulille ja latasin sen PmmC Loaderilla, jonka jälkeen kaikki toimi kuten pitikin. Joten jos käyttöönotossa on ongelmia, päivitä ohjelmisto!

Tähtikenttä 4DGL:llä

Kyllä, sama koodi kuin pienellä näytöllä! Ainoastaan pieniä viilauksia alustusfunktiossa ja näytön kokomäärittelyissä koodin alussa. Ja enemmän tähtiä tietenkin, kun resoluutio on paljon isompi.

Get Flash to see this player.

Koodi:

#platform "uOLED-32024-P1T"

/*************************************************
* MetkuMods - http://metku.net/
*
* Filename: picaso_starfield.4dg
* Created: 2009/04/20
* Author: Aki Korhonen
* Description: Starfield for Picaso
**************************************************/

#inherit "4DGL_16bitColours.fnc"

#constant NUMBER_OF_STARS 100
#constant STAR_ARRAY_SIZE 1000 // NUMBER_OF_STARS * 5
#constant SCREEN_WIDTH 240
#constant SCREEN_HEIGHT 320

// 0 = xpos
// 1 = ypos
// 2 = zpos
// 3 = speed
var stars[STAR_ARRAY_SIZE];

func init_star(var i)
	stars[i*5+0] := RAND() % 40;
	stars[i*5+1] := RAND() % 40;
	
	stars[i*5+0] := stars[i*5+0] * 3072;
	stars[i*5+1] := stars[i*5+1] * 3072;
	
	stars[i*5+2] := i;
	stars[i*5+3] := 2 + ABS(RAND() % 3);
endfunc

func init()
	var i;
	
	i := 0;
	while(i++<NUMBER_OF_STARS)
		init_star(i);
	wend
endfunc

func main()
	var centerx, centery;
	var i, tempx, tempy;
	
	init();
	
	centerx := SCREEN_WIDTH >> 1;
	centery := SCREEN_HEIGHT >> 1;
	
	while(1)
		// Clear screen
		gfx_Cls();
		
		// Move and draw stars
		i := 0;
		while(i++<NUMBER_OF_STARS)
			stars[i*5+2] := stars[i*5+2] - stars[i*5+3];
			
			if(stars[i*5+2] <= 0)
				init_star(i);
			endif
			
			// Compute 3D position
			tempx := (stars[i*5+0] / stars[i*5+2]) + centerx;
			tempy := (stars[i*5+1] / stars[i*5+2]) + centery;
			
			// Check if a star leaves the screen
			if(tempx < 0 || tempx > SCREEN_WIDTH - 1 ||
			   tempy < 0 || tempy > SCREEN_HEIGHT - 1)
				init_star(i);
			endif
			
			gfx_PutPixel(tempx, tempy, WHITE);
		wend
        
        pause(2);
	wend
endfunc






Sivut:  1 2 3 4 5 6 7 8 9 10 11 12 


 
  Content in english!
  Sisältö suomeksi!

 Google




Add to Technorati Favorites
add
add
add
add
add

 .:Back to top Bandwidth by Mpoli

Copyright © Metku.net, All Rights Reserved.
All content and graphics in MetkuMods are sole property of Jani Pönkkö and may not be reproduced or copied in any manner without written permission from him.
All brand names, trademarks and copyrights are the property of their respective owners.Privacy Policy