国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产91视频一区-亚洲欧美日产综合在线网-黄视频网站在线看-国产欧美亚洲精品第1页-亚洲www在线-大学生女人三级在线播放-日本在线视频www鲁啊鲁-国产成人精品一区二区仙踪林-69精品欧美一区二区三区-成人欧美亚洲-日本污污网站-中国妞xxxhd露脸偷拍视频-国产精品aⅴ在线观看-精品中文字幕在线

極客小將

您現(xiàn)在的位置是:首頁 » python編程資訊

資訊內(nèi)容

用python和pygame游戲編程入門-鼠標(biāo)設(shè)備

極客小將2020-10-28-
在3D游戲中,可以使用鼠標(biāo)來控制視角。這種時候,我們不使用鼠標(biāo)的位置,因?yàn)槭髽?biāo)可能會跑到窗口外面,我們使用鼠標(biāo)現(xiàn)在與上一幀的相對偏移量。

世界上最早的鼠標(biāo)誕生于1964年,它是由美國人道格·恩格爾巴特(Doug Engelbart)發(fā)明的。IEEE協(xié)會把鼠標(biāo)的發(fā)明列為計算機(jī)誕生50年來最重大的事件之一,可見其對IT歷程的重大影響作用。1983年蘋果公司給自家的電腦安上了鼠標(biāo),用戶就開始離不開這個小東西了。而現(xiàn)代游戲,離開了鼠標(biāo),99%的都沒法玩!我們自然得好好研究如何使用鼠標(biāo)來操控我們的游戲。

在3D游戲中,可以使用鼠標(biāo)來控制視角。這種時候,我們不使用鼠標(biāo)的位置,因?yàn)槭髽?biāo)可能會跑到窗口外面,我們使用鼠標(biāo)現(xiàn)在與上一幀的相對偏移量。在下面的例子中,我們演示使用鼠標(biāo)的左右移動來轉(zhuǎn)動我們熟悉的小魚


background_image_filename = './img/Underwater.png'
sprite_image_filename = './img/fish-b.png'

import pygame
from pygame.locals import *
from sys import exit
from Vec2d import *
from math import *
 
pygame.init()
 
screen = pygame.display.set_mode((640, 480), 0, 32)
 
background = pygame.image.load(background_image_filename).convert()
sprite = pygame.image.load(sprite_image_filename).convert_alpha()

# 讓pygame完全控制鼠標(biāo)start
pygame.mouse.set_visible(False)
pygame.event.set_grab(True) 
# 讓pygame完全控制鼠標(biāo)end

clock = pygame.time.Clock()
sprite_pos = Vec2d(200, 150)
sprite_speed = 300.

sprite_rotation = 0.
sprite_rotation_speed = 360.


while True:
 
    for event in pygame.event.get():
        if event.type == QUIT:
            exit()
		#完全控制鼠標(biāo),這樣鼠標(biāo)的光標(biāo)看不見,也不會跑到pygame窗口外面去所以你得準(zhǔn)備一句代碼來退出程序。
		# 按Esc則退出游戲
        if event.type == KEYDOWN:
            if event.key == K_ESCAPE:
                exit()

    pressed_keys = pygame.key.get_pressed()
	# 這里獲取鼠標(biāo)的按鍵情況
    pressed_mouse = pygame.mouse.get_pressed()

    rotation_direction = 0.
    movement_direction = 0.
 
    # 獲得x方向上的偏移量,計算轉(zhuǎn)動,除以5是把動作放慢一點(diǎn)
    rotation_direction = pygame.mouse.get_rel()[0]/5.0
 
    if pressed_keys[K_LEFT]:
        rotation_direction = +1.
    if pressed_keys[K_RIGHT]:
        rotation_direction = -1.

    # 多了一個鼠標(biāo)左鍵按下的判斷
    if pressed_keys[K_UP] or pressed_mouse[0]:
        movement_direction = +1.
    # 多了一個鼠標(biāo)右鍵按下的判斷
    if pressed_keys[K_DOWN] or pressed_mouse[2]:
        movement_direction = -1.
 
    screen.blit(background, (0,0))
 
    rotated_sprite = pygame.transform.rotate(sprite, sprite_rotation)
    w, h = rotated_sprite.get_size()
    sprite_draw_pos = Vec2d(sprite_pos.x-w/2, sprite_pos.y-h/2)
    screen.blit(rotated_sprite, sprite_draw_pos)
 
    time_passed = clock.tick()
    time_passed_seconds = time_passed / 1000.0
 
    sprite_rotation += rotation_direction * sprite_rotation_speed * time_passed_seconds
 
    heading_y = sin(sprite_rotation*pi/180.)
    heading_x = cos(sprite_rotation*pi/180.)
    heading = Vec2d(heading_x, heading_y)
    heading *= movement_direction
 
    sprite_pos+= heading * sprite_speed * time_passed_seconds
 
    pygame.display.update()


pygame.mouse的函數(shù):

pygame.mouse.get_pressed —— 返回按鍵按下情況,返回的是一元組,分別為(左鍵, 中鍵, 右鍵),如按下則為True

pygame.mouse.get_rel —— 返回相對偏移量,(x方向, y方向)的一元組

pygame.mouse.get_pos —— 返回當(dāng)前鼠標(biāo)位置(x, y)

pygame.mouse.set_pos —— 顯而易見,設(shè)置鼠標(biāo)位置

pygame.mouse.set_visible —— 設(shè)置鼠標(biāo)光標(biāo)是否可見

pygame.mouse.get_focused —— 如果鼠標(biāo)在pygame窗口內(nèi)有效,返回True

pygame.mouse.set_cursor —— 設(shè)置鼠標(biāo)的默認(rèn)光標(biāo)式樣,是不是感覺我們以前做的事情白費(fèi)了?哦不會,我們使用的方法有著更好的效果。

pyGame.mouse.get_cursor —— 不再解釋。


本站部分內(nèi)容轉(zhuǎn)載自網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員及時刪除。

預(yù)約試聽課

已有385人預(yù)約都是免費(fèi)的,你也試試吧...

国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产91视频一区-亚洲欧美日产综合在线网-黄视频网站在线看-国产欧美亚洲精品第1页-亚洲www在线-大学生女人三级在线播放-日本在线视频www鲁啊鲁-国产成人精品一区二区仙踪林-69精品欧美一区二区三区-成人欧美亚洲-日本污污网站-中国妞xxxhd露脸偷拍视频-国产精品aⅴ在线观看-精品中文字幕在线

        免费拍拍拍网站| 日韩黄色片在线| www.中文字幕在线| 日本a级片在线观看| 五月婷婷六月丁香激情| 精品久久久久久中文字幕2017| 成人免费视频91| 久操网在线观看| 99re8这里只有精品| 91免费网站视频| 国产成人一二三区| 草草草视频在线观看| 超级碰在线观看| 和岳每晚弄的高潮嗷嗷叫视频| 亚洲国产一二三精品无码| 91成人综合网| aa在线免费观看| 欧美大尺度做爰床戏| 午夜av中文字幕| 国产成人一二三区| 久久久久久久久久久免费视频| 国模吧无码一区二区三区| 国产免费又粗又猛又爽| 五月天丁香花婷婷| 日韩人妻无码精品久久久不卡| 国产精品50p| 日韩av.com| 国产日韩亚洲欧美在线| 日韩中文字幕三区| aaa一级黄色片| 日产精品久久久久久久蜜臀| 国产 福利 在线| 欧美大片久久久| av之家在线观看| 亚洲欧美天堂在线| av免费观看大全| www.超碰97.com| 日韩a∨精品日韩在线观看| 亚洲不卡视频在线| 国产乱淫av片杨贵妃| 亚洲国产高清av| 黄黄视频在线观看| 99久久久无码国产精品6| 手机福利在线视频| 日韩精品一区二区三区色欲av| 国产资源在线视频| aaa免费在线观看| 日本888xxxx| 欧美日韩第二页| 人人妻人人澡人人爽欧美一区 | 国产亚洲欧美在线视频| 91小视频在线播放| 日本黄网站免费| 男人插女人视频在线观看| 在线播放免费视频| 尤蜜粉嫩av国产一区二区三区| 国产女教师bbwbbwbbw| 国产精品视频中文字幕| 欧美激情国产精品日韩| 国产自产在线视频| 特色特色大片在线| 在线观看日本www| www亚洲成人| 欧美女同在线观看| 亚洲娇小娇小娇小| 91看片在线免费观看| 1024精品视频| av免费中文字幕| 国产视频在线视频| 欧美综合在线观看视频| 蜜臀视频一区二区三区| 冲田杏梨av在线| 激情五月婷婷基地| 亚洲精品在线网址| 善良的小姨在线| 国产 欧美 日韩 一区| 四虎精品欧美一区二区免费| 亚洲第一天堂久久| 性生活免费观看视频| 成年人视频大全| www国产精品内射老熟女| 青青草国产精品视频| 亚洲精品无码久久久久久| 国产a视频免费观看| 日韩精品你懂的| 一二三在线视频| 人妻熟妇乱又伦精品视频| 成年人黄色片视频| 亚洲精品www.| 欧美日韩午夜爽爽| 成人观看免费完整观看| 午夜精品中文字幕| 加勒比成人在线| 欧美黄色一级片视频| 亚洲自拍第三页| 少妇一晚三次一区二区三区| 国产xxxxx在线观看| 91丨九色丨蝌蚪| 毛片在线视频播放| 亚洲精品中文字幕乱码无线| 无码人妻少妇伦在线电影| 日本人视频jizz页码69| 久久精品无码中文字幕| 日本爱爱免费视频| 全黄性性激高免费视频| 精品亚洲一区二区三区四区| 男插女免费视频| 最近中文字幕一区二区| 91九色在线观看视频| 成人亚洲免费视频| 干日本少妇首页| 黄色成人在线免费观看| 成年人三级黄色片| 色综合久久久久无码专区| 制服丝袜中文字幕第一页| 凹凸国产熟女精品视频| 好色先生视频污| 天堂在线中文在线| 美女网站免费观看视频| 国产一线二线三线女| 色偷偷中文字幕| 欧美一级xxxx| 91淫黄看大片| 国产男女激情视频| 国产精品333| 欧美视频在线观看网站| 成人在线免费观看网址| 一二三av在线| 国产福利精品一区二区三区| 手机看片福利盒子久久| 无码人妻精品一区二区三区66| 国产资源在线视频| 国产资源在线视频| 成人黄色片视频| 中文字幕无码不卡免费视频| 亚洲自偷自拍熟女另类| 无罩大乳的熟妇正在播放| 欧美变态另类刺激| 国内外免费激情视频| 久久精品网站视频| 国产一级特黄a大片免费| 爱情岛论坛成人| 午夜免费看视频| 欧美午夜精品理论片| 天堂av免费看| 日韩 欧美 视频| 男人添女荫道口图片| 欧美老熟妇喷水| 啊啊啊国产视频| 女同激情久久av久久| 可以免费看的黄色网址| 日韩欧美猛交xxxxx无码| 国产精品12345| 亚洲一级免费观看| 欧美三级午夜理伦三级老人| 欧美一级爱爱视频| 亚洲精品乱码久久久久久自慰| 熟妇人妻va精品中文字幕| 五月婷婷之婷婷| 久草热视频在线观看| 黄色三级视频在线| 欧美在线观看黄| 男人透女人免费视频| 欧美激情第一区| 少妇高潮喷水在线观看| 五月天激情播播| 久久综合九色综合88i| 香蕉视频xxxx| 精品国产一区三区| 吴梦梦av在线| 虎白女粉嫩尤物福利视频| 日本a级片在线观看| 久久精品香蕉视频| 免费国产成人看片在线| 在线视频日韩一区| 福利视频一二区| 在线a免费观看| 中文字幕乱码人妻综合二区三区| 大桥未久一区二区| 538任你躁在线精品免费| 欧美在线观看黄| 做爰高潮hd色即是空| 一区二区三区入口| 免费毛片小视频| 福利在线一区二区| 精品久久免费观看| 中文字幕日韩综合| 欧美日韩在线成人| a级黄色小视频| 久久男人资源站| 99热一区二区三区| 午夜视频在线网站| 亚洲天堂网一区| 日日碰狠狠丁香久燥| 国产午夜伦鲁鲁| 国产素人在线观看| 欧美精品自拍视频| 国产淫片免费看| 激情六月丁香婷婷| 国产成人手机视频|