namespaceが被っていることで、Nothing Selectedとなっていた。

f:id:alakialaca:20180602181447j:plain

 

UnityCamと、Nature Starter Kitというアセットを入れると全てのスクリプトがNothing Selectedとなってしまうことに少し悩まされました。

 

 

f:id:alakialaca:20180602181436j:plain

エラーを見ると、namespaceが被っていると、

f:id:alakialaca:20180602183916j:plain

f:id:alakialaca:20180602183915j:plain

名前を変えると動きました。

 

 

tsubakit1.hateblo.jp

 

 

 

HTC Viveのコントローラーから火を発射する。

 

ねこますさんが、ねこまというキャラで、手から魔法を出していたので、とりあえず、私は手から炎を出させようと試みてみました。

 

 

こういう風に書いてみました。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.VR;

public class fireGenerator : MonoBehaviour {
    public SteamVR_TrackedObject trackedObject;
    public GameObject fire;

    public float speed;

    void Start () {
    }

    void Update () {
        var device = SteamVR_Controller.Input*1
        {
            var newfire = Instantiate (fire, device.transform.pos, Quaternion.identity);
            Quaternion newQuaternion = new Quaternion();
            newQuaternion.Set(device.transform.rot.x, device.transform.rot.y, device.transform.rot.z, device.transform.rot.w);
            newfire.transform.rotation = newQuaternion;
            newfire.GetComponent<Rigidbody>().AddForce(newfire.transform.forward*speed);
        }
    }
}

 

*1:int)trackedObject.index);
        if (device.GetPressDown(SteamVR_Controller.ButtonMask.Trigger

続きを読む

c# リストビューのフォーカスされていない時の選択アイテムの強調表示見づらすぎ。

f:id:alakialaca:20171115005608g:plain

この通りGIFだと更にわかりづらいですね。

 

とりあえず、リストビューの選択外れたらハイライトになるようにしてみた。

 

 

private void listView1_Enter(object sender, EventArgs e)
{
 //選択しているものがあれば
 if(listView1.SelectedItems.Count == 1)
 {
  listView1.SelectedItems[0].BackColor = Color.Empty;


 }
}

private void listView1_Leave(object sender, EventArgs e)
{

 listView1.SelectedItems[0].BackColor = SystemColors.Highlight;

}

 

 

 

f:id:alakialaca:20171115005610g:plain

c# リストビューの非表示列

ちょっと調べたら、列の長さを0にするという方法が出てきましたけど、これじゃあ

列の幅を変えたら出てきちゃうのですよね。

f:id:alakialaca:20171108001420g:plain

 

これをなんとかしたいなって思っていたのですが、

 

続きを読む

Sandcastleで詰まったところ。

c#のドキュメント生成で使われるSandcastleです。

 

A Project with a diffirent or higher framework version 

ってエラーが出たのですけど。

これはただ単に最新版のSandcastleを使っていないだけでした。

検索かけたら↓のサイトが一番上に来るし、これが最新版だと思うじゃないですか。

sandcastle.codeplex.com

 

実際はこっちが最新版でした。2017年10月現在。

 

github.com

 

 

 

続きを読む

c# フォームの大きさに合わせてフォントも大きくする。

最近C#触り始めまして、そこでちょっと詰まったところ。

tabletlayoutpanelでフォームの大きさを変えると同時にコントロールの大きさも変えれるけど、

フォントの大きさ変わらないのですよねー

f:id:alakialaca:20171015191748g:plain

 

columnSpan,rowSpanで枠が2つに増やせるのも知らなかったわー

f:id:alakialaca:20171015191326j:plain f:id:alakialaca:20171015191331j:plain

そこでフォームのリサイズイベントのところ、でサイズの比率に合わせてフォームのサイズも変える処理を行いました。

 

private void Form1_Resize(object sender, EventArgs e)
{
  listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
  //clientsizeでフォームの幅が取得できる
  float text_size = ClientSize.Width;//横幅
  float text_size2 = ClientSize.Height;//縦幅
  //大きい方に合わせる
  float text_size_max = System.Math.Max(text_size, text_size2);
  this.label1.Font = new Font("MS UI Gothic", 9 * (text_size_max / 600));
  this.button1.Font = new Font("MS UI Gothic", 9 * (text_size_max / 600));
  this.listView1.Font = new Font("MS UI Gothic", 9 * (text_size_max / 600));
  for (int i = 0; i < listView1.Items.Count; i++)
  {
    listView1.Items[i].SubItems[0].Font = new Font("MS P明朝", 9 *       text_size_max/600);
  }
}

600はただ単に一番初めに作った画面の横幅の大きさです。

適当な比率です。

f:id:alakialaca:20171015194054g:plain