簡體   English   中英

玩家移動方向邏輯

[英]Player Movement Direction Logic

將點A和B視為牆,將點O視為牆內玩家。

因此它們看起來像AOB。

我希望玩家觸摸到右點B時向左移動。當他觸摸到左點A時向右移動。

屏幕正在渲染,播放器位置向右增加5,向左增加-5。

我想做的是:我將if語句放入if語句中。 如果A和O之間的距離為零,則玩家位置獲得+5增量。 如果O和B之間的距離為零,則玩家位置得到-5增量。 但是,一旦他碰到一堵牆(比如說右牆),他就會向后移動-5,然后是5,然后又是-5,然后是5。

我知道為什么會這樣,但是我沒有任何邏輯可以實現。

代碼:對不起,我無法發布實際代碼。 我在移動互聯網上。 我沒有電腦上網。

假設左牆為50,0,右牆為550,0,播放器為50,0。

//這一切都被渲染。

If (rightWall - PlayerPos <=0){
    PosIncrement = -5;
}
If (leftWall - PlayerPos <=0){
    PosIncrement = 5;
}
translateX (PlayerPos);

如果玩家應該牆壁之間 ,則意味着左側牆壁的位置應始終低於玩家位置。 玩家位置應等於或大於50且等於或小於550

所以正確的邏輯可以是

If (rightWall - PlayerPos <=0){
    PosIncrement = -5;
}
If (PlayerPos - leftWall <=0){
    PosIncrement = 5;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM