2011-08-21 30 views
0

我試圖用pygame開發一個16位時代的遊戲。 我正在使用FlashDevelop和Flixel,但我想嘗試更穩固的東西。 我遇到的問題是遊戲的外觀,我希望屏幕上的每個像素都「更大」,我的意思是,對於320x240表面中的每個像素,我需要在640x480表面上進行2x2像素投影以獲得像Frogatto遊戲的外觀。在這裏和那裏問我發現它不像Flixel那樣容易。Pygame中的2x2像素表面

你們能指導我嗎?

更新

我想出了一個辦法做塊縮放面到主面如下

screenSize = width, height = 640, 480 
mainScreen = pygame.display.set_mode(screenSize) 
smallScreen = pygame.Surface((320, 240)) 
pygame.transform.scale(smallScreen, screenSize, mainScreen) 

如果有人可以給我講講關於這件事的最佳實踐一些指點,我將不勝感激。

+0

我從來沒有使用過pygame,但是我會做的是渲染一個320x240像正常的圖像,然後將該圖像作爲640x480的屏幕。 – corsiKa

回答

0

不知道你問的具體建議上pygame的或如何高檔的320×240 - > 640×480像素...

如果是後者,則:

有一個耦合算法MAME使用的高級像素藝術 - 搜索hq2x,hq3x,hq4x;或者看看http://en.wikipedia.org/wiki/Hqx或更一般地看http://en.wikipedia.org/wiki/Pixel_art_scaling_algorithms

可能有點偏離你的需求,但http://research.microsoft.com/en-us/um/people/kopf/pixelart/index.html顯示了像素縮放的一些非常有趣的發展。

+0

我發現Pygame已經有了Scale2x功能,謝謝! – fixmycode

0

如果你畫你所有的各種圖形到一個位圖的每個幀(像什麼Flixel一樣),你可以將位圖的比例設置爲2.0,而不是1

默認從我瞭解的Flixel,主要類只有一個孩子添加到屏幕上,一個位圖。顯示的每個flixel對象都被繪製到該位圖的每一幀。 Flixel的比例變量只是該位圖的比例尺。