我有一張地圖圖片。我想將地圖的左右(東西)邊連接起來,這樣您就可以永遠滾動到右側或左側,並繼續滾動同一張圖片。我環顧四周,無法找到關於該主題的任何內容(可能是因爲我不知道該怎麼稱呼它)。我還想在一個框架中放置照片,我可以抓住並拖動它來移動照片。我試圖在Tkinter做到這一點,但我有一種感覺,可能有更簡單的方法來做到這一點。在python中連接圖片的邊緣
0
A
回答
0
我能用pygame得到我想要的結果。
的blit(源,DEST,面積=無,special_flags = 0) - >的Rect
我設置一個矩形兩次我的地圖的寬度,並設置一個函數總是具有兩個地圖繪製並排。我添加了一些函數來將地圖移動爲寬度的百分比。
SCREENRECT = Rect(0, 0, 6025, 3010)
...
class Arena:
speed = 15
def __init__(self):
w = SCREENRECT.width
h = SCREENRECT.height
self.tilewidth = self.oceantile.get_width()
self.tileheight = self.oceantile.get_height()
print self.tilewidth, self.tileheight
self.counter = 0
self.counter2 = 0
self.ocean = pygame.Surface((w+self.tilewidth,h)).convert()
for x in range(w/self.tilewidth):
for y in range(h/self.tileheight):
self.ocean.blit(self.oceantile, (x*self.tilewidth, y*self.tileheight))
def left(self):
self.counter = (self.counter - self.speed) % self.tilewidth
def right(self):
self.counter = (self.counter + self.speed) % self.tilewidth
def up(self):
if self.counter2 > 0: self.counter2 = (self.counter2 - self.speed) % self.tileheight
def down(self):
if self.counter2 < 1140: self.counter2 = (self.counter2 + self.speed) % self.tileheight
screen.blit(arena.map, (0, 0), (arena.counter, arena.counter2, SCREENRECT.width, SCREENRECT.height))
然後,我使用blit函數繪製地圖,通過區域輸入消除x和y像素。
blit(source, dest, area=None, special_flags = 0) -> Rect
screen.blit(arena.map, (0, 0), (arena.counter, arena.counter2, SCREENRECT.width, SCREENRECT.height)).
目前我用鍵盤控制鼠標的滾動,但搶和拖動功能不應該是很難與Pygame的模塊弄清楚。
0
(實際上,你問2不同,不是很精確的問題)
- 滾動永遠:從Python中的常見方法是 獨立的邊緣鏡像圖像,因此您可以實現幾乎 無盡的世界從1或一些圖像(地圖的瓷磚)。
- GUI框架/ API:根據我的經驗,Qt(在你的情況下可能是PyQt)是 ,有很好的文檔和設計,很容易實現與操作系統無關的 GUI。
相關問題
- 1. Prolog連接圖的邊緣
- 2. Python從邊緣流連接的組件
- 3. Python連接的組件邊緣列表
- 4. 從強連接圖中刪除邊緣
- 5. 刪除圖片邊緣
- 6. ArangoDB:遍歷其中邊緣連接到其他邊緣
- 7. 檢測邊緣(連接的邊緣)並查找邊緣長度和連接的組件回轉半徑
- 8. 在邊緣內添加背景圖片
- 9. 在Python/R中創建節點邊緣三角形鄰接圖
- 10. 如何分配/圖中的邊緣連接重?
- 11. OpenCV獲取連接的邊緣
- 12. 只能點擊svg圖片的邊緣?
- 13. 圖中從邊緣
- 14. IE /邊緣連接移動文本
- 15. 用邊緣連接兩個節點JavaFX
- 16. 檢測圖片框邊緣C#
- 17. 單色圖片邊緣檢測 - Java
- 18. 背景圖片x px從右邊緣
- 19. 由邊緣連接的點的動畫圖形
- 20. Python:獲取圖形的邊緣端點
- 21. Linux Python 2.7 odbc連接進度打開邊緣數據庫
- 22. 如何在raphael中創建連接器到框的邊緣
- 23. 排序圖中的邊緣
- 24. 如何在Matlab中從邊緣列表中找到連接的邊線
- 25. 如何在幀邊緣接觸另一個邊緣時獲取該邊緣?
- 26. 當圖像接近邊緣時,9貼片投影會消失
- 27. 將邊框直接放在圖像的邊緣
- 28. 鏈接邊緣段
- 29. OpenCV Python,過濾器邊緣只包含那些連接到特定像素的邊緣
- 30. Python - 如何在ArangoDB中創建邊緣
你想如何實現這個無限的滾動?通過點擊並拖動鼠標,類似於谷歌地圖的工作方式?或者,你是否期望有左/右按鈕來移動一個圖像而另一個圖像? –