2016-09-06 44 views
0
//obj 1 has that: 
if (place_meeting(x,y, obj_nomatter)){ 
global.points -= 1; 
moveawayfromobj_nomatter(); 
// obj 1 rotates. 
} 

問題是點有時會減少一個或七個。 算法的任何想法?謝謝!遊戲機製造商工作室place_meeting

+0

您的問題很模糊,缺乏上下文。請修改它,以便我們清楚你想做什麼,你期望得到什麼結果......以及你得到的是什麼 – user919426

+1

爲了改善你從問題中得到的迴應,考慮做一些事情,比如發佈一個[minimal,complete和可驗證的示例](http://stackoverflow.com/help/mcve),[語法突出顯示](http://meta.stackexchange.com/questions/184108/what-is-syntax-highlighting-and-how-does - 工作),在標題中明確提出問題,[添加必要的標籤](http://stackoverflow.com/help/tagging)... [和標題常見問題](http:// stackoverflow .com/help/how-to-ask)獲取更多信息 – user919426

回答

0

您使用的是在步驟事件 所以它調用的動作一個或七次如果你仍然發生碰撞的七個步驟

一種方法是使用定時器或變量

這樣: 這是使用可變

var ones = false; 
if(!ones) { 
    if(place_meeting(x,y,obj_nomatter)) { 
    global.points -= 1; 
    ones = true; 
    } 
} 

這是使用定時器

step event: 
if(place_meeting(x,y,obj_nomatter)) {alarm[0] = room_speed;} 
//to use the room_speed, 30 for default (a second) 

alarm[0]: 
global.points -= 1; 

//with this method if you collide more than room_speed global.points keeps going down 
012的方法,所述方法
+0

噢,天啊,我是怎麼忘記這種方法的!非常感謝你!!! – Raphael

相關問題