我目前正在使用非常简单的代码制作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***