第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何實(shí)現(xiàn)碰撞檢測?

如何實(shí)現(xiàn)碰撞檢測?

元芳怎么了 2021-08-24 18:20:45
from graphics import*import timeimport random def main():    numx=random.randint(10,700)    wn=GraphWin("AK",700,700)    wn.setBackground("white")    msg=Text(Point(25,30),"Score")    msg.setSize(12)    msg.setTextColor('blue')    msg.draw(wn)    inch=Entry(Point(60,30),2)    inch.setFill('white')    inch.draw(wn)     sqrg=Rectangle(Point(330,650),Point(430,665))    sqrg.setFill("red")    sqrg.draw(wn)    blx=Circle(Point(numx,80),20)    blx.setFill("blue")    blx.draw(wn)    xval=10    yval=0    wn.getMouse()    for i in range(150):        sqrg.move(xval,yval)        symbl=wn.checkKey()        if symbl=="Right":                xval=10                yval=0        if symbl=="Left":                xval=-10                yval=0        time.sleep(0.08)        blx.move(0,20)main()我很困惑我的教授很困惑,我需要為一個(gè)項(xiàng)目這樣做,當(dāng)檢測到碰撞時(shí),分?jǐn)?shù)會(huì)上升。
查看完整描述

2 回答

?
動(dòng)漫人物

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊

你的半徑是二十。在循環(huán)內(nèi)部,只測試 sqrg 和 blx 之間的歐幾里德距離是否在 20 以內(nèi)。


查看完整回答
反對(duì) 回復(fù) 2021-08-24
?
三國紛爭

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超7個(gè)贊

以下是基于您的代碼的精簡示例。它測量兩個(gè)移動(dòng)物體的中心之間的距離,以確定是否發(fā)生了碰撞。如果你設(shè)法讓球擊中方塊,球應(yīng)該直接彈起:


from random import randint

from time import sleep

from graphics import *


def distance(p1, p2):

    return ((p2.x - p1.x) ** 2 + (p2.y - p1.y) ** 2) ** 0.5


wn = GraphWin("AK", 700, 700)


sqrg = Rectangle(Point(325, 625), Point(375, 675))

sqrg.setFill("red")

sqrg.draw(wn)


numx = randint(10, 700)


blx = Circle(Point(numx, 80), 20)

blx.setFill("blue")

blx.draw(wn)


xval, yval = 10, 0


bheading = 1


wn.getMouse()


for i in range(150):

    sqrg.move(xval, yval)


    if distance(blx.getCenter(), sqrg.getCenter()) < 25:

        bheading *= -1


    symbl = wn.checkKey()


    if symbl == "Right":

        xval = 10

    elif symbl == "Left":

        xval = -10


    sleep(0.1)


    blx.move(0, bheading * 20)

Cleary 不是一個(gè)可行的游戲,而是碰撞檢測的演示。


查看完整回答
反對(duì) 回復(fù) 2021-08-24
  • 2 回答
  • 0 關(guān)注
  • 207 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)