Harigami
ログイン
1
anonymous タイトルなし
C#
💩
  • 0
  • 0
anonymous 数値入力用のTextBox
C#
using System;
using System.Windows.Forms;

namespace NumBox2
{
    // ボックスに入力された文字列を数値へ変換する
    public partial class NumBox : TextBox
    {
        // Textが変更されるたびに数値を計算しなおすようにする
        // TextChangedイベントを発生させるメソッドであるところのOnTextChangedをオーバーライドする
        protected override void OnTextChanged(EventArgs e)
        {
            base.OnTextChanged(e);
            bool _ = double.TryParse(Text, out double res);
            this.ValText = res;
        }

        // NumBoxから他のコントロールへ移動するタイミングで表示を更新する
        protected override void OnLeave(EventArgs e)
        {
            base.OnLeave(e);
            this.Text = this.ValText.ToString();
        }

        // NumBoxにフォーカスしたらIMEをオフにする
        // (Win8以降ではImeModeが正常に働かないようなので注意)
        protected override void OnGotFocus(EventArgs e)
        {
            base.OnGotFocus(e);
            this.ImeMode = ImeMode.Off;
        }

        // Textを数値に変換した結果が入る(読み取り専用)
        public double ValText { get; private set; } = 0;
    }
}
  • 0
  • 1
anonymous タイトルなし
C#
void Add_Damage(float damage, bool ignoreDefence = false)
{
	float discount = 20f;
	float defense_coef = 1f - CS_Player_Status.Defense / discount;
	if( ignoreDefence )
	{
		defense_coef = 1f;
	}
	if( damage * defense_coef > CS_Player_Status.Shield_Now )
	{
		Game_Over();
	}
	CS_Player_Status.Shield_Now -= damage * defense_coef;

	Debug.Log("ダメージ係数"+defense_coef);
	Debug.Log(damage * defense_coef);
}
  • 0
  • 1
あなたもコードを投稿しませんか?
投稿する
1