2016-08-19 2 views
2

mov 파일을 생성하려고하므로 p5js 스케치를 처리로 변환합니다. 이 스케치는 kadenze의 daniel shiffman의 튜토리얼을 기반으로하지만 부울 출력에 문제가 있습니다. 이 p5js 코드를 어떻게 처리 할 수 ​​있습니까?p5js 스케치를 처리로 변환하는 데 문제가 있습니다.

function draw() { 
    for(var i = 0; i < particles.length; i++) { 
    if(particles[i].isDead()) { 
    //code 
    } 
    } 
} 

function Particles() { 
    this.isDead = function() { 
    var distance = p5.Vector.sub(attractor.pos, this.pos); 
    var d = distance.mag(); 

    if(d < 5) { 
     return true; 
    } else { 
     return false; 
    } 
    } 
} 

처음에는 공백으로 시도했지만 출력에 공백이 없습니다. 그럼 내가 부울과 같은 것을 시도했지만 그것도 작동하지 않습니다.

void setup() { 
    //code 
} 

void draw() { 
    for (int i = 0; i < particles.length; i++) { 
    if(particles[i].isDead()) { 
     //code 
    } 
    } 
} 

Class Particle { 
    Particle() { 
    //code 
    } 

    boolean isDead() { 
    PVector distance = PVector.sub(a.location, location); 
    float d = distance.mag(); 

    if(d < 5) { 
     return true; 
    } else { 
     return false; 
    } 
    } 
} 

누군가 나를 도울 수 있다면 좋을 것입니다.

관해서는 첫 번째 문제는 당신이 아무것도 실제로 이제까지 아니라는 것이다

+0

[mcve]를 제공해 주실 수 있습니까? 지금은'입자'선언과'a'와'위치'선언을 놓치고 있습니다. –

답변

1

을 마티아스 경우 isDead() 반환 true. 당신은 실제로 그 코드 안에 if 진술을 넣거나 어쩌면 그 논리적 인 의미로 어딘가로 그 if 진술을 옮길 필요가 있습니다. Mover 죽은 경우

예를 들어, 녹색으로 그리는 당신의 Mover 클래스 내부에 display() 기능을 수정할 수 : 단지 예를 들어, 그리고 당신이 실제로 수행하기에 당신이 원하는에 따라 달라집니다

void display() { 
    if (isDead()) { 
     fill(0, 255, 0); 
    } else { 
     fill(255, 0, 0); 
    } 
    stroke(0); 
    strokeWeight(2); 

    ellipse(location.x, location.y, 10, 10); 
    } 

Mover이 (가) 죽었을 때 발생합니다.

그러나 변경 한 경우에도 Mover은 회색 원의 가운데에 도달하면 사라집니다. 그 때문에 당신의 isDead() 함수 내에서이 if 문의 :

PVector distance = PVector.sub(a.location, location); 
float d = distance.mag(); 
if (d < 5) { 
    return true; 
} else { 
    return false; 
} 

당신은 회색 원의 중심과 각 작은 빨간 원의 중심 사이의 거리를 측정하고 있습니다. 그러나 d < 5 인 경우에만 true을 반환합니다. 그 문제는 회색 원의 지름이 50이므로 작은 원이 회색 원을 입력 할 때 죽기를 원한다면 그 지름을 계산에 입력해야합니다. 대신 if(d < 30)을 사용해보세요. 나는 502으로 나눈 다음 작은 원 크기에 5을 더하여 30을 얻었습니다. 원하는 효과를 얻으려면 게임을해야 할 수도 있습니다.

두 점 사이의 거리를 반환하는 dist() 함수에 관심이있을 수 있습니다. 더 많은 정보는 the reference에서 찾을 수 있습니다.

+0

멋진, 고마워요 :) – pundes

관련 문제