[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/25 06:40 / Filesize : 247 KB / Number-of Response : 1019
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっと C#,C♯,C#(初心者用) Part133



1 名前:デフォルトの名無しさん [2017/11/07(火) 21:11:25.20 ID:LeQqgpmT0.net]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part132
mevius.5ch.net/test/read.cgi/tech/1507543256/

■関連スレ
C#, C♯, C#相談室 Part95
mevius.5ch.net/test/read.cgi/tech/1508180530/

■コードを貼る場合は↓を使いましょう。
ideone.com/
https://dotnetfiddle.net/

■情報源https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

522 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 18:05:42.37 ID:g1yHwUG3M.net]
sources
.GroupBy(s => new { 名前, テスト回数 })
.Select(g => new {
g.Key.名前,
g.Key.テスト回数,
時間 = g.Max(s => s.時間)
});

悩むところねえなぁ

523 名前:デフォルトの名無しさん [2017/11/17(金) 18:29:28.97 ID:ZBvifIa80.net]
汎用性低いな。

524 名前:デフォルトの名無しさん [2017/11/17(金) 18:32:42.23 ID:ZBvifIa80.net]
ListTest.GroupBy(item => item.名前).Select(group => group.OrderBy(item => item.時間).Last()).ToList()

ワシのが1番じゃろ。

525 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 18:42:45.87 ID:1r1wVT3lM.net]
よくみたら仕様ちゃうやん自分…

src.GroupBy(s => s.名前)
.SelectMany(g => g.Where(t => t.時間 == g.Max(u => u.時間));

これが王道の正解な

526 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 18:50:16.49 ID:1r1wVT3lM.net]
こっちのが速いかな

sec.ToLookup(s => s.名前)
.Select(g => new { g, m = g.Max(t => t.時間)
.SelectMany(p => p.g.Where(u => u.時間 == p.m);

527 名前:デフォルトの名無しさん [2017/11/17(金) 18:50:30.24 ID:ZBvifIa80.net]
そういやラムダ式の中の命名は超シンプルでいいんだったな。
>>518 最大値を探すためにループ、その値を持ち主をまた探すためにループってなんかキモくね?それが王道なのか。

528 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 19:36:01.87 ID:15/bjs8Fd.net]
>>482
まず時間と名前でグループ化
時間, 名前, テスト回数
2017/1/1, A氏, 3,4
2017/1/1, B氏, 1,2
2017/2/1, A氏, 1,2
2017/2/1, B氏, 1,2
2017/3/1, A氏, 1,2,3

あとは日付けでソートして名前でDistinctするかな

529 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 19:40:08.46 ID:hFmoO+PyM.net]
>>520
ループ?
SelectManyはSQLで言えば結合みたいなもの
LinqのJoinだとこんな感じかな

src.GroupBy(s => s.名前)
.Join(src,
g => new { 名前 = g.Key, 時間 = g.Max(t => t.時間) },
u => new { u.名前, u.時間 },
(g, u) => u);

SelectManyの方がわかりやすいな

530 名前:デフォルトの名無しさん [2017/11/17(金) 19:46:57.67 ID:ZBvifIa80.net]
Maxを探すためにループ、その持ち主また探すためにWhereでループ



531 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 20:26:05.65 ID:/4Y2zvAi0.net]
max ← 持ち主

こういう方向のリンクなら、max を探してから、持ち主も探さなきゃいけないけど、
逆方向のリンクなら、すぐ

532 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 20:34:11.03 ID:45Grbd2f0.net]
名前、日付で降順ソートして名前ごとの最新取るだけでなげーな

533 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 20:40:49.52 ID:2lBbqhr3M.net]
>>525
それ結局最後まで舐めないと全ての名前が分からないから何の意味もないぞ

534 名前:デフォルトの名無しさん [2017/11/17(金) 21:20:38.75 ID:Xkp76caL0.net]
LINQって実は裏側でforeachで回してるってホント?

535 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 21:41:36.29 ID:SHrICtEWr.net]
>>527
ループは一回

536 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 21:50:29.21 ID:/4Y2zvAi0.net]
例えば、100個の中から、1個を探すのは、全(線形)探索 O(n) しかできない

全データにインデックス・ハッシュがついていれば、O(1)だが、
ソートするには、全探索する必要がある

DB みたいに、B-tree でソートされているのなら、O(log n)



537 名前:uアルゴリズムと計算量」を勉強して []
[ここ壊れてます]

538 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 21:53:48.98 ID:45Grbd2f0.net]
>>529
すればいいじゃん
何がしたいの?
速度アップしたいの?

539 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 22:28:51.51 ID:fmtM/py00.net]
こんなにレスが付いてるとは思わなかった。
無事満足いく結果がとれるようになりました。
試したことないのもあって勉強になりましたありがとうございます。

540 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 22:41:16.10 ID:bpYBjcB50.net]
>>527
記述によっては複数回どころか毎回ループもあり得るから注意な



541 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 23:53:01.59 ID:f2B03iH5a.net]
foreach版も作ったけど
一回回すだけで辞書はできるので計算量は減るし再利用にも便利

542 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 01:22:17.61 ID:dA2WGfe00.net]
DBに接続して操作するクラスを作ってるのですが、コンストラクタでDBに接続してデストラクタとDisposeで切断処理を書こうと思っています
基本的にはこのような書き方でいいのでしょうか?
各処理のメソッドで接続切断を仕込むのもあると思うのですが連続で処理する場合たとパフォーマンスの低下に繋がると思ったので気になりました

543 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 01:26:06.53 ID:uyqqFOTJ0.net]
これEXISTS使うSQLの定番問題なんでその定番SQLが生成されるようにAnyするのが最速
そう、EFならね

544 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 01:33:21.33 ID:Q2wZVPR60.net]
>>534
途中でLANケーブル抜いたらどういう動作するの?

545 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 01:34:15.67 ID:Q2wZVPR60.net]
そしてすぐに指す!

546 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 01:37:14.30 ID:dA2WGfe00.net]
>>536
DBはローカルなんでそこは考えてませんでした
途中でDBとの接続切れたらエラー返すぐらいしか考えてないですね
そこでクラス抜けるようにするかどうかは分かりませんがデストラクタかdisposeに入ると思います
まだ実装してませんが

547 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 01:37:59.01 ID:dA2WGfe00.net]
>>535
接続部分はAnyでまとめた文打ち込む前後だけ開くってことでしょうか?

548 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 02:05:22.67 ID:uyqqFOTJ0.net]
>>539
悪いが俺のレスは質問と関係ないぞ
ちなみに各DBのコネクションクラスは質問通りのIDisposableな自動Close設計で
連続する処理する場合はコネクションを開いたまま使いまわすのが普通
SQLite.NETが参考と言うかやりたいことそのままじゃないか?

549 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 02:09:22.40 ID:dA2WGfe00.net]
>>540
ありがとうございます!

550 名前:デフォルトの名無しさん [2017/11/18(土) 02:43:03.59 ID:NMU9eY0n0.net]
>>540
ありがとうございます!



551 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 16:41:16.80 ID:S0Dl2HXu0.net]
>>540
ありがとうございます!

552 名前:デフォルトの名無しさん [2017/11/18(土) 17:07:33.62 ID:18CT9AkR0.net]
https://ideone.com/a5csSX

たくさんボタンがあって、ボタンを押すとそれに対応した画像を保存するプログラムなのですが
ひとつのsaveFileDialogを使いまわすにはどうすればいいでしょうか
上のコードのpictureBox_1、pictureBox_2が引数になる様にしたいのですが

553 名前:デフォルトの名無しさん [2017/11/18(土) 17:30:37.37 ID:mVpmRSdA6.net]
>>544
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
// 画像保存処理
}

554 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 17:33:50.19 ID:v7G/T0vB0.net]
>>544
ボタンで分岐ならすぐできる
private void button_Click(object sender, EventArgs e)
{
 SaveFileDialog saveFileDialog1 = new SaveFileDialog();
if (saveFileDialog1.ShowDialog() != DialogResult.OK)) return;
if (sender==button1)
{
  pictureBox_1.Image.Save(saveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Bmp)
}
else if (sender==button2)
{
}
}

555 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 18:31:43.88 ID:+tDuSBLG0.net]
>>544
ボタン事に対応したピクチャーボックスがあるならTagに設定しておくと便利だよ
button1.Tag=pictureBox_1;ってしといて
((PictureBox)(((Button)sender).Tag)).Imageって感じで画像を取得できる

556 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 19:04:31.90 ID:yU1kJYivM.net]
void RegisterClickEvent(Button b, PictureBox p)
{
var d = new SaveFileDialog();
b.Click += (s, e) => {
if (d.ShowDialog() == DialogResult.OK) {
p.Image.Save(d.FileName, ...);
}
}
}

// on load
var pairs = new [] {
new { b = button_1, p = pbox_1 },
new { b = button_2, p = pbox_2 },
...
};

foreach(var pair in pairs)
RegisterClickEvent(pair.b, pair.p);

557 名前:デフォルトの名無しさん [2017/11/18(土) 19:27:10.06 ID:18CT9AkR0.net]
みなさん有難う御座います。
やってみます。

558 名前:デフォルトの名無しさん [2017/11/18(土) 19:30:23.03 ID:NMU9eY0n0.net]
こんなところにもちゃっかり匿名クラスw

559 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 20:21:22.01 ID:6NKrq56ga.net]
>>544
まずSaveFileDialogのFileOKイベントを使ってるのがまずいくない?
これだと結局FileOKのイベントハンドラに引き渡すためだけにImageかパスをフィールドに持つ必要が出てくる

private string AskSaveNameFromUser()
{
  var sfd = new SaveFileDialog();
  sfd.DefaultExt = "bmp";
  sfd.Filter = "BMP形式|*.bmp";
  if (sfd.ShowDialog(this) == DialogResult.OK)
  {
    return sfd.FileName;
  }
  return null;
}

こんな風にユーザーから保存名を貰ってくるメソッドを作った方がいいんじゃない?

560 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 20:22:04.37 ID:6NKrq56ga.net]
その上で
private bool TrySaveImage(Image img)
{
  var savePath = AskSaveNameFromUser();
  if (savePath == null) return false;
  try
  {
    img.Save(savePath, ImageFormat.Bmp);
  }
  catch (Exception)
  {

    return false;
  }
  return true;    
}

こんなメソッドを用意すれば、後はラムダ式使ってボタンのclickイベントにこれを紐づけするだけ
button1.Click += (s, e) => TrySaveImage(pictureBox1.Image);



561 名前:デフォルトの名無しさん [2017/11/18(土) 20:36:23.54 ID:NMU9eY0n0.net]
ボタン押した時に保存したいんだからClickイベントハンドラの中に記述すればいいだろ。

562 名前:デフォルトの名無しさん [2017/11/18(土) 20:42:16.49 ID:2DwFpZ7T0.net]
フォームで画像を表示したところ、それを閉じなければコンソールに処理が戻らないプログラムになってしまいました
同時に動かす方法があれば教えていただきたいです

563 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 20:46:06.00 ID:v7G/T0vB0.net]
>>554
コンソールって何を指しているの?
フォームに画像表示(パネルでもPictureboxでも)して反応が無くなるってことは普通は無い

564 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 20:46:26.41 ID:9PzaXhXFM.net]
START をコマンド名の前に書いても?

とエスパー回答

565 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 20:48:58.44 ID:v7G/T0vB0.net]
モーダルフォームで表示しているのならモードレスフォームにして表示
https://dobon.net/vb/dotnet/form/showform.html

566 名前:デフォルトの名無しさん [2017/11/18(土) 20:53:01.78 ID:NMU9eY0n0.net]
>>554
Threadを使おう

var thread = new System.Threading.Thread(
() => {
System.Windows.Forms.Application.Run(form);
});
thread.Start();

567 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 20:57:25.99 ID:6NKrq56ga.net]
一つのプロセスで複数のUIスレッド作って大丈夫なんだっけ?

568 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 21:01:09.80 ID:GCI+mPsu0.net]
すみません、上手く説明できないと思うので一応コードも載せます

やりたいことはコマンドプロンプト上で流れる処理の途中で画像を呼び出すことです
その際、処理が止まってしまいます

var form = new System.Windows.Forms.Form();
var pb = new System.Windows.Forms.PictureBox();
pb.Image = System.Drawing.Image.FromFile(imgpath);
pb.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
form.Controls.Add(

569 名前:pb);
System.Windows.Forms.Application.Run(form);
[]
[ここ壊れてます]

570 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 21:02:37.60 ID:GCI+mPsu0.net]
途中で送信してしまいました・・
頂いた返事から色々と試してみようと思います!



571 名前:デフォルトの名無しさん [2017/11/18(土) 21:03:01.96 ID:NMU9eY0n0.net]
>>560

var form = new System.Windows.Forms.Form();
var pb = new System.Windows.Forms.PictureBox();
pb.Image = System.Drawing.Image.FromFile(imgpath);
pb.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
form.Controls.Add(pb);

var thread = new System.Threading.Thread(
() => {
System.Windows.Forms.Application.Run(form);
});
thread.Start();

572 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 21:04:16.09 ID:v7G/T0vB0.net]
>>560
Application.Run(form);で止まるなそれは
フォームのインスタンス作ってShow()できないの?

573 名前:デフォルトの名無しさん [2017/11/18(土) 21:06:38.70 ID:NMU9eY0n0.net]
Application.Runをしないとメッセージ来ねえからShowしても一瞬で消えるだろ。

574 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 21:07:12.07 ID:v7G/T0vB0.net]
じゃあ別スレッドでやるしかないのか

575 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 21:19:47.80 ID:GCI+mPsu0.net]
>>562
並列処理で無事起動できました!
イカのような記号が何を意味するか分かりませんが
いい機会なのでスレッドも勉強してみます

>>563
なぜApplication.Run(form)で止まってしまうのでしょうか?
フォームに制御が移ってしまっているということですかね

576 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 21:23:57.35 ID:D1AcCkIgr.net]
Task使え!

577 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 21:26:29.84 ID:v7G/T0vB0.net]
>>560
その部分全部を別クラスにしてインスタンスを作って呼び出せば動いた
実際に呼び出す部分は
formtest f = new formtest();
f.formshow();
を入れておいて
別クラスで例えば
class formtest:Form
{
public formtest()
{ }
public void formshow()
{
   var form = new System.Windows.Forms.Form();
   var pb = new System.Windows.Forms.PictureBox();
   pb.Image = System.Drawing.Image.FromFile(imgpath);
   pb.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
   form.Controls.Add(pb);
   System.Windows.Forms.Application.Run(form);
}
}
を作っておく
>>566
ああちょっと遅かったか

578 名前:.>>568 mailto:sage [2017/11/18(土) 21:29:35.82 ID:v7G/T0vB0.net]
ごめんこれ無しでw>>568

579 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 21:36:41.17 ID:GCI+mPsu0.net]
>>568
丁寧に教えてもらいありがとうございます
どの実現方法も勉強になりますし、解がすぐに思い浮かびコードにできるのは憧れます

580 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 21:37:46.34 ID:v7G/T0vB0.net]
>>570
すいません手順間違えて動くと勘違いしていましたw
結局同じことなので参考にしないでくださいw



581 名前:デフォルトの名無しさん [2017/11/18(土) 21:50:58.81 ID:AvOAupbn0.net]
変数がNULLだったら、ってこれが一番シンプル?
a == null ? 0 : 1;

582 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 21:55:24.54 ID:GCI+mPsu0.net]
>>571
そうでしたか
検証までしてもらい申し訳ないです

583 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 21:56:43.57 ID:kl8n9Pj50.net]
>>572
つ ?? 演算子

584 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 22:13:06.30 ID:ScUjvH+z0.net]
>>574
>>572の式書ける?

585 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 22:17:16.38 ID:kl8n9Pj50.net]
>>575
書けない。nullの場合の値設定のみ。

586 名前:デフォルトの名無しさん [2017/11/18(土) 22:17:39.50 ID:AvOAupbn0.net]
NULLじゃなかった場合の処理が要らない場合は>>574がベスト?

587 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 22:20:13.27 ID:w1kiMD3J0.net]
a == null ? 0 : a;
a ?? 0;
は同じ内容になる

588 名前:デフォルトの名無しさん [2017/11/18(土) 22:21:15.58 ID:AvOAupbn0.net]
>>578
おけ
さんきゅ

589 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 22:47:38.85 ID:kl8n9Pj50.net]
ぬるぽ

590 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 23:05:35.11 ID:VG3ktzhs0.net]
Unity+C#の質問になっちゃいますが、
=========================================
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Ball_Ctrl : MonoBehaviour
{

public float speed = 50.0f;

void Update ()
{

Vector3 test = new Vector3();

test.x = Input.GetAxis("Vertical") * speed * Time.deltaTime;

transform.Rotate( test );

  }
}
==========================================
これをキューブ型の3Dオブジェクトにぶち込むと上下キーで回転するんだけど、
これに回転制限を設けたい場合どうすればいいか教えてください!



591 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 23:23:09.15 ID:Wsch61C00.net]
>>581
とりあえずtest.xの値をリアルタイムで確認してみるとか

ちゃんと制御できてるのがいいんだろうけどな

592 名前:デフォルトの名無しさん [2017/11/18(土) 23:30:02.55 ID:NMU9eY0n0.net]
>>581


test.x = Input.GetAxis("Vertical") * speed * Time.deltaTime;

// minAngle〜maxAngleの間に制限
var minAngle=20f;
var maxAngle=160f;
test.x=test.x<minAngle?minAngle:test.x;
test.x=test.x>maxAngle?maxAngle:test.x;

593 名前:581 mailto:sage [2017/11/19(日) 00:15:02.15 ID:+rKwXo5m0.net]
>>582
>>583
この説明受けてもまだチンプンカンプンで申し訳ないのですが、

実際に角度を変えている「transform.Rotate」ってのが
「現在の角度+test.x」って事だから、

if文で、
もし現在の角度がmin°〜max°以内の範囲ならば
test.x = Input.GetAxis("Vertical") * speed * Time.deltaTime;
って事ですかね?

現在値なら
genzaiti = this.transform.eulerAngles.x;
で現在の角度を取得出来るんですが、

なんか上手くいかない・・・

>>583

test.x=test.x<minAngle?minAngle:test.x;
test.x=test.x>maxAngle?maxAngle:test.x;
の記述も意味がよく分からないです・・・

594 名前:デフォルトの名無しさん [2017/11/19(日) 00:22:50.41 ID:5IbV37Zg0.net]
genzaiti = this.transform.eulerAngles.x;
if(genzaiti>=min && genzaiti<=max) {
test.x = Input.GetAxis("Vertical") * speed * Time.deltaTime;
}


こうしてもうまくいかないってこと?

595 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 00:46:45.14 ID:nVHpanKs0.net]
>>584
ああ、transformって姿勢行列か
だったらtransform→angleの変換は期待しない方がいい
angle→transformは一方通行として
現在のangleを保持して
毎回transformをangleから作る感じで

596 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 00:50:00.47 ID:+rKwXo5m0.net]
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Ball_Ctrl : MonoBehaviour
{
public float speed = 50.0f;
public float genzaiti;
public float min = -15.0f;
public float max = 15.0f;

void Update ()
{

Vector3 test = new Vector3();
genzaiti = this.transform.eulerAngles.x;

if (genzaiti >= min && genzaiti <= max)
{
test.x = Input.GetAxis("Vertical") * speed * Time.deltaTime;
}
transform.Rotate( test );

  }
}
====================================
教えて頂き、こうしてみたんですが
挙動がおかしいです

if文的に
↑をおしてmaxを超えるとキー入力を受け付けなくなるのは理解出来るんですが、
↓キーをおすとgenzaitiが359とか謎の数値になるのが理解できない・・・

597 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 01:17:17.13 ID:nVHpanKs0.net]
>>587
359=-1やんけ?

598 名前:デフォルトの名無しさん [2017/11/19(日) 07:08:15.26 ID:5IbV37Zg0.net]
>>587
if (genzaiti >= min && genzaiti <= max)

if (genzaiti%360 >= min && genzaiti%360 <= max)

599 名前:デフォルトの名無しさん [2017/11/19(日) 07:19:50.08 ID:5IbV37Zg0.net]
すまん、これは間違い

600 名前:デフォルトの名無しさん [2017/11/19(日) 09:53:15.87 ID:RgqRbH7C0.net]
RubyはPerlより優れていてPythonより劣っている。



601 名前:デフォルトの名無しさん [2017/11/19(日) 12:26:49.81 ID:/vA5wcYG0.net]
>>581
これで同じことやってる
https://github.com/zabaglione/ObjectRotateClamp/blob/master/ObjectRotateClamp.cs

602 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 12:35:27.94 ID:E5DVFTo40.net]
もう、自分でゴリゴリロジックを書くのが馬鹿らしくなってきた。

何処かの偉い人が言っていたが今のプログラミングは工学じゃなくて科学だと。
nugetか何処かでライブラリを拾ってきて、ひたすら実験を繰り返し、
自分の期待通りの結果が得られるかどうか判定するのみ。

603 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 13:13:49.58 ID:CpArH3DxM.net]
ドメインロジックもそれでできるならいいけどね
できないでしょ

604 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 13:23:38.14 ID:4mwAxl/ka.net]
>>593
むしろそれのどこが科学なのかとw

電気屋も建築屋もパーツや材料がスペック通りの性能を持ってるか
実験するけど、それを科学とは言わないと思うよw

605 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 13:31:47.12 ID:T31pkR2W0.net]
今週はずっとlockとかMoniterとかManualResetEventSlimとか
new Thread(new ThreadStartとかTask.Factory.StartNewとかTask.Run
などなど書いていて頭痛くなってきた、やり方いろいろありすぎ

606 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 13:34:25.58 ID:CpArH3DxM.net]
今だと

607 名前:ルとんど使わないよねその手の非同期ライブラリ []
[ここ壊れてます]

608 名前:581 mailto:sage [2017/11/19(日) 13:39:52.27 ID:+rKwXo5m0.net]
>>592
ひとまずこれをブチ込んでみたら思った通りに動いた!
よく見つけてくれましたね!ありがとうございます!

いまから一個ずつ理解するため勉強します。


他のみなさんも親切にどうもありがとうございました!
今回の件はとりあえず一件落着です。

609 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 13:40:17.88 ID:E5DVFTo40.net]
>>595
現代のプログラミングは科学だって言ってるのオレじゃないけどねw

ソフトウエアってパーツや材料みたいなきちんとしたスペックなんかは無いし
ソースが巨大でブラックボックス化しているので
自然科学の実験と観察のようだと皮肉って言ってるんだと思う。

610 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 13:42:55.02 ID:E5DVFTo40.net]
>>598 の人も実験と観察の世界だw



611 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 13:44:15.53 ID:Plho4dsNM.net]
>>597
いや全部使うだろ
マルチスレッドといえば、社内にParallel厨がいてうざいわ
ボトルネックになってないのに無駄に並列化するのやめろ
オーバーヘッドを増やすだけで全く速くなってないんだよ

612 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 13:47:26.35 ID:CpArH3DxM.net]
>>601
いや使わんよ
スレッド間の結合が強くなりすぎる

613 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 13:49:44.71 ID:CpArH3DxM.net]
Taskは使う
他は保守性下げるから使いたくないし使わなくても問題ない

614 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 13:52:13.40 ID:E5DVFTo40.net]
>>601
そういうヤツに限ってLockがなんだか分かってなくて共有リソースのロックが放置プレイ。
たまたま動いているような状態だ。

615 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 15:22:20.18 ID:k+hZMr200.net]
Taskは普通に使うけど、わざわざThreadを使うケースってなんかあったっけ?

616 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 15:32:26.34 ID:E5DVFTo40.net]
>>605
Task.Runってメインスレッドより早く終わるのが前提でしょ
メインスレッドと同時に立ち上げて上がりっぱなしのだとThread.Startでしょう。

617 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 15:44:54.87 ID:k+hZMr200.net]
>>606
LongRunningじゃダメなの?

618 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 15:55:49.72 ID:E5DVFTo40.net]
>>607
へぇ〜、スレッドプールを消費しないオプションがあったんんだ。
でも、Thread.Startを使わないでTask.Factory.StartNewに
TaskCreationOptions.LongRunningを付けて実行するメリットって何があるのだろ?

619 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 15:58:44.65 ID:k+hZMr200.net]
顔真っ赤やんけ・・・もういいわ

620 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 15:59:36.35 ID:Ay/cPvn90.net]
最近こういう下らねープライドで食い下がる奴多いな



621 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 16:00:15.24 ID:Ay/cPvn90.net]
もちろんid真っ赤な方に言ってるんで誤解せんといて

622 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 16:09:07.36 ID:E5DVFTo40.net]
>>609
真っ赤とかどうとかじゃなくて素直に聞いているだけなんだけどな。
Task.Runはお手軽だけどTask.Factory.StartNewにそれほどのメリットを感じないので聞いてみた。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<247KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef