敌人范围检测

时间:2014-06-15 15:56:28

标签: python python-3.x pygame

我目前正在使用非常简单的代码制作Megaman游戏。现在,我遇到了一些敌人侦测问题。

现在,我的敌人周围有一个Rect存储在一个txt文件中,我想检查角色的hitbox是否与敌人Rect碰撞,这是他的视线。

基本上,碰撞检测正在发挥作用,但是当Megaman处于一个敌人的范围内时,他们都会像Megaman一样在他们的范围内做出反应

这是重要的代码,粗体是帮助;

    *hunterrange=Rect(enemy[1]-100,enemy[2],400,40)
    enemy.append(hunterrange)
    if enemy[8].colliderect(hitbox):
        enemy[3]=0
        if modelx[X]<enemy[1]:
            enemy[4]=1
        elif modelx[X]>enemy[1]:
            enemy[4]=-1
        rangecheck=True
    else:
        rangecheck=False*

    if enemy[0]=="Hunter":            
        hunterbox=Rect(enemy[1],enemy[2],30,40)           


        if rangecheck==False:                
            if enemy[5]<enemy[1]<enemy[6] and enemspace<=0:
                enemspace=5
                enemy[3]=random.randint(-4,4)                    
                if enemy[3]>0:
                    enemmove=ERWALK
                    enemy[4]=-1
                elif enemy[3]<0:
                    enemmove=ELWALK
                    enemy[4]=1
                elif enemy[3]==0:
                    enemmove=EIDLE
            elif enemy[1]>=enemy[6]:
                enemmove=ELWALK
                enemy[1]=enemy[6]-5
            elif enemy[1]<=enemy[5]:
                enemmove=ERWALK
                enemy[1]=enemy[5]+5

       ***if rangecheck==True:                
            enemmove=ESHOOT***

0 个答案:

没有答案