-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsketch.js
More file actions
75 lines (56 loc) · 1.5 KB
/
sketch.js
File metadata and controls
75 lines (56 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
var W = 800;
var H = 500;
var previousTime; // absolute previous time
var dt; // delta time
var AS01;
var separationSlider;
var cohesionSlider;
var alignmentSlider;
var flowfieldSlider;
var roamSlider;
// -------------------------------------------------
// -------------------------------------------------
function setup()
{
previousTime = new Date().getTime();
dt = 0.01;
createCanvas(W, H);
background(0);
AS01 = new AgentSystem(100);
separationSlider = createSlider(0.1,3,2,0.05).parent('separation');
cohesionSlider = createSlider(0,3,0.1,0.05).parent('cohesion');
alignmentSlider = createSlider(0,1,0,0.05).parent('alignment');
flowfieldSlider = createSlider(0,1,1,0.05).parent('flowfield');
flowfwritebackSlider = createSlider(0.001,1,0.5,0.05).parent('ffwriteback');
roamSlider = createSlider(0,1,1,0.05).parent('roam');
}
// -------------------------------------------------
update = function() // called from draw()
{
AS01.update();
updateTime();
}
// -------------------------------------------------
function draw()
{
update();
background(0);
AS01.draw();
}
// -------------------------------------------------
updateTime = function()
{
// update delta time
var T = new Date().getTime();
dt = (T - previousTime) * 0.001;
previousTime = T;
}
// -------------------------------------------------
function mousePressed()
{
AS01.addImpulse(createVector(mouseX, mouseY), 5);
}
// -------------------------------------------------
function mouseReleased()
{
}