SpiderWorld: tweak constants / anchor positions

This commit is contained in:
Colin McMillen 2021-07-12 14:57:22 -04:00
parent 1fd19f14dc
commit 20c4bd8b3a

View File

@ -12,7 +12,7 @@ namespace SemiColinGames {
private Vector2 anchor;
private float radius;
private float angle;
private float momentum = -400; // radians / second * pixels
private float momentum = -300; // radians / second * pixels
public Spider(float x, float y, float radius, float angle) {
Position = new Vector2();
@ -22,8 +22,8 @@ namespace SemiColinGames {
}
public void Update(float modelTime, History<Input> input) {
radius += 100 * modelTime * input[0].Motion.Y;
radius = Math.Clamp(radius, 10, 300);
radius += 150 * modelTime * input[0].Motion.Y;
radius = Math.Clamp(radius, 50, 200);
float angleChange = modelTime * momentum / radius;
angle += angleChange;
float x = anchor.X + radius * (float) Math.Sin(angle);
@ -41,7 +41,7 @@ namespace SemiColinGames {
}
public class Anchor {
public TextureRef Texture = Textures.Blue1;
public TextureRef Texture = Textures.Terran;
public Vector2 Position;
public Anchor(float x, float y) {
@ -62,10 +62,12 @@ namespace SemiColinGames {
public SpiderWorld() {
Bounds = new Rectangle(0, 0, 1280, 720);
Player = new Spider(1280 / 2, 720 / 2, 200, 0);
Player = new Spider(200, 720 / 2, 200, 0);
Anchors = new ProfilingList<Anchor>(100, "anchors");
Anchors.Add(new Anchor(1280 / 2, 720 / 2));
Anchors.Add(new Anchor(200, 720 / 2));
Anchors.Add(new Anchor(600, 720 / 4));
Anchors.Add(new Anchor(800, 640));
}
~SpiderWorld() {