2012-03-29 2 views
1

У меня есть простой обработки эскиз (вы можете разместить код и наблюдать за поведением here)Ложное поведение для mousedrag()?

int value = 0; 

void setup() { 
    size(480, 120); 

} 

void draw() { 
    fill(value); 
    background(#ffffff); 
} 

void mouseDragged() 
{ 
ellipse(mouseX,mouseY,20,20); 
} 

Единственное, это делает есть круг следовать за курсором на тащат. Чтобы не оставить круг в следе, я назначаю bacground в процедуре Draw, чтобы фон сбросился. Я также играл с частотой кадров, взяв его с 60 по умолчанию до 2000 без успеха. Как мне это понять?

ответ

2

Вы можете использовать несколько целых чисел или вместо одного PVector хранить данные позиции:

PVector position; 
// int x, y; 

void setup(){ 
    size(200,200); 
    background(125); 

    position = new PVector(); 
    // x=0; 
    // y=0; 
} 

void draw(){ 
    background(125); 

    noStroke(); fill(50); 
    ellipse(position.x,position.y,20,20); 
} 

void mouseDragged(){ 
    position.x = mouseX; 
    position.y = mouseY; 
    // x = mouseX; 
    // y = mouseY; 
} 
Смежные вопросы