Sinus och cosinus 4: skjutning¶
Under den här lektionen ska vi använda en sinus och cosinus för att skjuta en kula

Sinus och cosinus 4: uppgift 1¶
Skriv denna kod över:
float vinkel_kanon = 0;
void setup()
{
size(300, 200);
strokeWeight(5);
}
void draw()
{
background(255, 255, 255);
final float x_mitten = width / 2;
final float y_mitten = height / 2;
final float x_kanon = x_mitten + (cos(vinkel_kanon) * 20);
final float y_kanon = y_mitten - (sin(vinkel_kanon) * 20);
line(x_mitten, y_mitten, x_kanon, y_kanon);
ellipse(x_mitten, y_mitten, 20, 20);
}
Vad ser du?
Sinus och cosinus 4: lösning 1¶

Du ser en cirkel i mitten, med en kanon
Sinus och cosinus 4: uppgift 2¶
- Få kanonen att rotera genom att göra
vinkel_kanonmer och mer0.1

Sinus och cosinus 4: lösning 2¶
float vinkel_kanon = 0;
void setup()
{
size(300, 200);
strokeWeight(5);
}
void draw()
{
background(255, 255, 255);
final float x_mitten = width / 2;
final float y_mitten = height / 2;
final float x_kanon = x_mitten + (cos(vinkel_kanon) * 20);
final float y_kanon = y_mitten - (sin(vinkel_kanon) * 20);
line(x_mitten, y_mitten, x_kanon, y_kanon);
ellipse(x_mitten, y_mitten, 20, 20);
vinkel_kanon += 0.1;
}
Sinus och cosinus 4: uppgift 3¶
- Se till att
vinkel_kanonblir noll när du trycker på mellanslagstangenten
Dricks:
Sinus och cosinus 4: lösning 3¶

float vinkel_kanon = 0;
void setup()
{
size(300, 200);
strokeWeight(5);
}
void draw()
{
background(255, 255, 255);
final float x_mitten = width / 2;
final float y_mitten = height / 2;
final float x_kanon = x_mitten + (cos(vinkel_kanon) * 20);
final float y_kanon = y_mitten - (sin(vinkel_kanon) * 20);
line(x_mitten, y_mitten, x_kanon, y_kanon);
ellipse(x_mitten, y_mitten, 20, 20);
vinkel_kanon += 0.1;
if (keyPressed)
{
if (key == ' ')
{
vinkel_kanon = 0;
}
}
}
Sinus och cosinus 4: uppgift 4¶
- Gör variablerna
x_kulaochy_kulahögst upp - Ställ in de initiala värdena för
x_kulaochy_kulatill noll - Rita en kula med mitten
(x_kula, y_kula)med en cirkel som är 5 pixlar bred och hög

Sinus och cosinus 4: lösning 4¶
float vinkel_kanon = 0;
float x_kula = 0;
float y_kula = 0;
void setup()
{
size(300, 200);
strokeWeight(5);
}
void draw()
{
background(255, 255, 255);
final float x_mitten = width / 2;
final float y_mitten = height / 2;
final float x_kanon = x_mitten + (cos(vinkel_kanon) * 20);
final float y_kanon = y_mitten - (sin(vinkel_kanon) * 20);
line(x_mitten, y_mitten, x_kanon, y_kanon);
ellipse(x_mitten, y_mitten, 20, 20);
ellipse(x_kula, y_kula, 5, 5);
vinkel_kanon += 0.1;
if (keyPressed)
{
if (key == ' ')
{
vinkel_kanon = 0;
}
}
}
Sinus och cosinus 4: uppgift 5¶
- Om du trycker på mellanslagstangenten så ...
- får
x_kulavärdet avx_kanon - får
y_kulavärdet föry_kanon - kanonen bara fortsätter snurra
- får

Sinus och cosinus 4: lösning 5¶
float vinkel_kanon = 0;
float x_kula = 0;
float y_kula = 0;
void setup()
{
size(300, 200);
strokeWeight(5);
}
void draw()
{
background(255, 255, 255);
final float x_mitten = width / 2;
final float y_mitten = height / 2;
final float x_kanon = x_mitten + (cos(vinkel_kanon) * 20);
final float y_kanon = y_mitten - (sin(vinkel_kanon) * 20);
line(x_mitten, y_mitten, x_kanon, y_kanon);
ellipse(x_mitten, y_mitten, 20, 20);
ellipse(x_kula, y_kula, 5, 5);
vinkel_kanon += 0.1;
if (keyPressed)
{
if (key == ' ')
{
x_kula = x_kanon;
y_kula = y_kanon;
}
}
}
Sinus och cosinus 4: uppgift 6¶
- Skapa en ny variabel ovanför
setup-funktionenmed namnetvinkel_kula - Ge
vinkel_kulastartvärdet noll - Låt
x_kulabli mer och mer med cosinus avvinkel_kula - Låt
y_kulabli mindre med sinus förvinkel_kula

Sinus och cosinus 4: lösning 6¶
float vinkel_kanon = 0;
float x_kula = 0;
float y_kula = 0;
float vinkel_kula = 0;
void setup()
{
size(300, 200);
strokeWeight(5);
}
void draw()
{
background(255, 255, 255);
final float x_mitten = width / 2;
final float y_mitten = height / 2;
final float x_kanon = x_mitten + (cos(vinkel_kanon) * 20);
final float y_kanon = y_mitten - (sin(vinkel_kanon) * 20);
x_kula += cos(vinkel_kula);
y_kula -= sin(vinkel_kula);
line(x_mitten, y_mitten, x_kanon, y_kanon);
ellipse(x_mitten, y_mitten, 20, 20);
ellipse(x_kula, y_kula, 5, 5);
vinkel_kanon += 0.1;
if (keyPressed)
{
if (key == ' ')
{
x_kula = x_kanon;
y_kula = y_kanon;
}
}
}
Sinus och cosinus 4: Slutuppgift¶
Nu avslutar vi spelet:
- Se till att kulan inte är synlig i början (tips: ställ in
y_kulapå minus hundra) - Om du trycker på blanksteg, ställ in
vinkel_kulalika medvinkel_kanon
