Guest User

Sanae player script - main

a guest
Sep 9th, 2010
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.22 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text;
  6. using SFML.Audio;
  7. using SFML.Graphics;
  8. using SFML.Window;
  9. using DanmakufuDotNet;
  10.  
  11. public class TemplatePlayer : Player
  12. {
  13.     public bool Focused { get; set; }
  14.     public bool CanMove { get; set; }
  15.     public bool CanFocus { get; set; }
  16.     public bool CanShoot { get; set; }
  17.     public float Speed { get; set; }
  18.     public float FocusSpeed { get; set; }
  19.     public Sprite HitboxSprite { get; set; }
  20.     public Sprite FocusAuraSprite { get; set; }
  21.  
  22.     public TemplatePlayer() : base("TemplatePlayer")
  23.     {
  24.         Sprite = new Sprite(ResourcesImages["TemplatePlayer"]);
  25.        
  26.         X = 640/2;
  27.         Y = 480/2;
  28.        
  29.         CanMove = true;
  30.         CanFocus = true;
  31.         CanShoot = true;
  32.        
  33.         Speed = 1.3f;
  34.         FocusSpeed = 0.75f;
  35.        
  36.         HitboxSprite = new Sprite(ResourcesImages["Hitbox"]);
  37.         HitboxSprite.Origin = new Vector2(HitboxSprite.Image.Width / 2, HitboxSprite.Image.Height / 2);
  38.        
  39.         FocusAuraSprite = new Sprite(ResourcesImages["FocusAura"]);
  40.         FocusAuraSprite.Origin = new Vector2(FocusAuraSprite.Image.Width / 2, FocusAuraSprite.Image.Height / 2);
  41.     }
  42.    
  43.     public override void Update()
  44.     {
  45.         base.Update();
  46.        
  47.         if(CanFocus)
  48.             UpdateFocus();
  49.        
  50.         if(CanMove)
  51.             UpdateMovement();
  52.            
  53.         if(CanShoot)
  54.             UpdateShoot();
  55.     }
  56.     public void UpdateFocus()
  57.     {
  58.         if(Game.RenderWindow.Input.IsKeyDown(KeyCode.LShift))
  59.         {
  60.             Focused = true;
  61.         }
  62.         else
  63.         {
  64.             Focused = false;
  65.         }
  66.     }
  67.     public void UpdateMovement()
  68.     {
  69.         float nextX = 0;
  70.         float nextY = 0;
  71.         float nextSpeed = 0;
  72.        
  73.         if(Focused)
  74.         {
  75.             nextSpeed = FocusSpeed;
  76.         }
  77.         else
  78.         {
  79.             nextSpeed = Speed;
  80.         }
  81.        
  82.         if(Game.RenderWindow.Input.IsKeyDown(KeyCode.Up))
  83.         {
  84.             nextY = -1;
  85.         }
  86.         else if(Game.RenderWindow.Input.IsKeyDown(KeyCode.Down))
  87.         {
  88.             nextY = 1;
  89.         }
  90.        
  91.         if(Game.RenderWindow.Input.IsKeyDown(KeyCode.Left))
  92.         {
  93.             nextX = -1;
  94.         }
  95.         else if(Game.RenderWindow.Input.IsKeyDown(KeyCode.Right))
  96.         {
  97.             nextX = 1;
  98.         }
  99.        
  100.         if (nextX != 0f && nextY != 0f)
  101.         {
  102.             nextX *= 0.707106781f;
  103.             nextY *= 0.707106781f;
  104.         }
  105.        
  106.         X += nextX * nextSpeed;
  107.         Y += nextY * nextSpeed;
  108.     }
  109.     public void UpdateShoot()
  110.     {      
  111.         if(Game.RenderWindow.Input.IsKeyDown(KeyCode.Z))
  112.         {
  113.             TemplatePlayerShot playerShot = new TemplatePlayerShot();
  114.             playerShot.Sprite = new Sprite(ResourcesImages["PlayerShot"]);
  115.             playerShot.Speed = Helper.Random.Next(10,40) / 10f + 1;
  116.             playerShot.Angle = 180 + 90;
  117.             playerShot.Sprite.Scale = new Vector2(Helper.Random.Next(10, 60) / 100f + 0.2f, Helper.Random.Next(10, 60) / 100f + 0.2f);
  118.             playerShot.X = Helper.Random.Next(-9, 9) + X;
  119.             playerShot.Y = Y - 18;
  120.             playerShot.Curve = Helper.Random.Next(-4, 4) / 10f;
  121.             playerShot.Sprite.Color = new Color(Convert.ToByte(Helper.Random.Next(0, 255)), Convert.ToByte(Helper.Random.Next(0, 255)), Convert.ToByte(Helper.Random.Next(0, 255)), 255);
  122.             Game.Manager.AddEntity(playerShot);
  123.         }
  124.     }
  125.    
  126.     public override void Draw()
  127.     {
  128.         base.Draw();
  129.        
  130.         if(Focused)
  131.         {
  132.             HitboxSprite.Position = new Vector2(X, Y);
  133.             Game.RenderWindow.Draw(HitboxSprite);
  134.            
  135.             FocusAuraSprite.Position = new Vector2(X, Y);
  136.             FocusAuraSprite.Rotation += 0.5f;
  137.             Game.RenderWindow.Draw(FocusAuraSprite);
  138.         }
  139.     }
  140. }
Advertisement
Add Comment
Please, Sign In to add comment