UnityでMMO作りたいけどどうする!?(^^ [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/07/16(日) 15:50:08.98ID:wWznjvX2
サーバー代とかはあとで考えまひょう(^^
今はちまちま作りまふ(^^
2017/08/04(金) 19:54:10.37ID:zlyxSfCN
斧ってアップロダのことでふよ(^^
2017/08/04(金) 19:54:21.75ID:zlyxSfCN
https://www.axfc.net/u/3831190/MMO
2017/08/04(金) 19:55:12.18ID:Q4gpogUg
なんだそうなのかw
2017/08/04(金) 19:57:26.26ID:Q4gpogUg
なんだよこのダッチワイフみてぇのはふざけてんのかw
2017/08/04(金) 19:59:59.22ID:Q4gpogUg
あれ
リスポーンしねぇよ?
チーズみてえの取れないしどうすんの?

しかしそれっぽくなってきたなあ
2017/08/04(金) 20:00:37.49ID:Q4gpogUg
ああ時間長いのか
2017/08/04(金) 20:01:12.52ID:Q4gpogUg
モンスターがエイムしてこねぇな
Lookatいれたか?
2017/08/04(金) 20:02:11.06ID:zlyxSfCN
パージスジノコ、スジノコは1分、ゴールドは一時間で湧きまふ(^^
2017/08/04(金) 20:02:46.30ID:zlyxSfCN
モンスターにLookat入れるの忘れてまひた(^^
2017/08/04(金) 20:05:57.15ID:Q4gpogUg
シャドーとポストエフェクトとかいれたい気分
あと雲ガンガン動かして ゴゴゴ・・・って感じで
黄昏チックな雰囲気にして

まぁそんなBGM

あとなぐり効果音はこだわりたい

ま、全部後回しかな
2017/08/04(金) 20:07:11.78ID:Q4gpogUg
スジのこの攻撃、いい線までいってんだけど
しっぽがつついてるみたいにみえるし
硬いな
2017/08/04(金) 20:10:13.08ID:Q4gpogUg
などとプレイヤー目線で言ってる場合じゃねぇ

プロジェクトはどうしたこのやろう
2017/08/04(金) 20:10:41.51ID:zlyxSfCN
モーションは要改良でふね(^^
2017/08/04(金) 20:11:09.88ID:zlyxSfCN
プロジェクトは全然整理できてまふぇん(^^
2017/08/04(金) 20:16:39.82ID:Q4gpogUg
やる気が感じられん!!
まぁ無理にはいいわ
2017/08/04(金) 20:20:08.85ID:zlyxSfCN
今日はやる気が出なかったんでふ(^^
ごめんなふぁい(^^

フィールドの制作とかはまだ先でいいでふか?(^^
2017/08/04(金) 20:21:47.13ID:Q4gpogUg
フィールドってなんだ?
マップな話?

そんなことよりHPゲージだろ
2017/08/04(金) 20:23:18.53ID:zlyxSfCN
HPゲージすっかりわすれてまひた(^^
いいサイトが見つからなくて困ってまふ(^^
2017/08/04(金) 20:26:16.83ID:Q4gpogUg
昨日のやつはC#書けるやつじゃないと
調整できないからなあ
まぁがんばって探すか
学習意欲をダウンロードしてこいや
2017/08/04(金) 23:29:12.53ID:EtjsIQCS
エンジニアおじさん冷えてるやんけ
どうしたんや
2017/08/05(土) 12:14:04.39ID:D7XQ/3Kh
おはようございまふ(^^
今日も一日頑張りまひょう(^^
2017/08/05(土) 13:09:52.33ID:D7XQ/3Kh
C#って50%以下の時に処理したい場合<50%じゃダメなんでふね・・・(^^
2017/08/05(土) 13:45:56.95ID:qSmknjrG
まさかおまえというやつは
<=も知らんのか
何がボッキングだ
むしろショッキングだ
2017/08/05(土) 14:17:19.91ID:D7XQ/3Kh
<は....より大きいでひた(^^
ところでintを%に変換するにはどうする!?(^^
HP作れなくて詰んでまふ(^^
2017/08/05(土) 14:27:15.18ID:D7XQ/3Kh
気晴らしにお散歩行ってきまふ(^^
家に籠って毎日スクリプトとにらめっこしてたら気が狂いまふよ(^^
2017/08/05(土) 14:47:07.29ID:qSmknjrG
この程度で気なんか狂うか

C#には%型なんてものはねぇんだ
100%を1とみなしたら50%はいくつになるんだ?
というか<=の左辺には一体何がはいってるんだよママン
2017/08/05(土) 16:35:14.68ID:D7XQ/3Kh
HP<=0.5
こうでふか?(^^
これだと変数HPが0.5以下のときに動くと思いまふ(^^
2017/08/05(土) 16:41:36.47ID:qSmknjrG
右辺が比なら
左辺も
「最大値に対する現在値との比」
にして比較すんだ
2017/08/05(土) 16:58:00.12ID:D7XQ/3Kh
HP*0.5<=0.5
HP/2<=0.5
どっちでひょうか?(^^
聞いてばっかりでごめんなふぁい(^^
2017/08/05(土) 17:06:26.87ID:D7XQ/3Kh
両方ダメでひた(^^
2017/08/05(土) 17:17:13.05ID:TcKvTVDT
今からでも遅くないから冗談ということにしてこっそり調べなさい
でないと人がいなくなるぞーーーーーーー!!!
2017/08/05(土) 17:17:31.21ID:fMsX6Qt3
hp/maxhp*100(%)
2017/08/05(土) 17:31:17.22ID:D7XQ/3Kh
>>521でもダメでひた(^^
最初のifは呼び出されまふが(^^
else if以降が呼び出されまふぇん(^^
なぜでふか?(^^
算数って難しいでふね(^^

if (モンスターのHP / モンスターの最大HP * 100 <= 100)
{
Debug.Log("モンスターがHP100%でふ(^^");

}
else if(モンスターのHP / モンスターの最大HP * 50 <= 100)
{
Debug.Log("モンスターがHP50%でふ(^^");
}
else if(モンスターのHP <= 0)
{
Monster死亡処理();
}
2017/08/05(土) 17:41:22.40ID:fMsX6Qt3
100<=50
2017/08/05(土) 17:45:46.95ID:D7XQ/3Kh
>>523
ダメでひた(^^
というよりHP減らしても一番上のifしか呼び出されまふぇん(^^
2017/08/05(土) 17:53:12.98ID:fMsX6Qt3
そりゃモンスターのHPは常に100%以下だからずっと上だけになる
2017/08/05(土) 17:56:11.76ID:e9RI6N3W
何がしたいかわからんが、一行目は少なくとも>=100だろうな。
2017/08/05(土) 18:01:13.49ID:D7XQ/3Kh
感謝感謝のボッキング!(^^
ところで今度は51%以上でも50%が呼び出されるようになりまひた(^^
なぜでふか?(^^
2017/08/05(土) 18:19:33.47ID:2wEFeqyo
アセットをかうほうが早そうですね
2017/08/05(土) 18:26:33.25ID:fMsX6Qt3
floatで計算してねーからじゃね?
2017/08/05(土) 18:30:13.97ID:e9RI6N3W
>>527
→525
2017/08/05(土) 18:30:42.48ID:TcKvTVDT
ボッキングくん elseifのところ
50と100を入れ替えなさい
2017/08/05(土) 18:33:59.97ID:D7XQ/3Kh
入れ替えまひた(^^
2017/08/05(土) 18:44:56.51ID:D7XQ/3Kh
いろいろいじってみまひたがやっぱり駄目でひた(^^
しゃーないのでHP表示要素は排除することにしまふ(^^
HP表示がないからいつ死ぬかわからないMMOというのも面白いでひょう(^^
というのは冗談で別の方法を試してみまふ(^^
2017/08/05(土) 18:50:17.85ID:e9RI6N3W
120、100、85、51、50、49、1、0の時、それぞれどう言う表示にしたいの?
それ次第だな。
2017/08/05(土) 18:53:51.12ID:D7XQ/3Kh
HPの画像を差し替えたいんでふよ(^^
それでHPバーを減少させてるように見せまふ(^^
2017/08/05(土) 18:56:30.83ID:Iv6I4n4s
なんてこった...

ボッキングコンチクショウめが
HP表示はあとで教えてやるから
取り敢えずモンスターのlookatikと
攻撃モーションでも直しておけ...

でもまあ考えようとしただけ良い、
前進している
2017/08/05(土) 18:59:39.39ID:D7XQ/3Kh
Lookatは修正しまひた(^^
最初モンスターが常時こっちを向く不具合が発生したものの(^^
無事作ることが出来まひた(^^
2017/08/05(土) 19:06:51.24ID:Iv6I4n4s
そうか
じゃあ、今の問題、
HP表示とは関係ないが、
最後までがんがえて
3種類の条件正しく処理させてみやがれ

俺は今出先だが、
20時ぐらいにはHP表示説明書いとくから
2017/08/05(土) 19:09:28.79ID:Iv6I4n4s
処理って、ログ出すだけでいいからな、

満タンの時と、50%以下の時、
死ぬ時はまあ死ぬからいいや
2017/08/05(土) 20:01:36.74ID:e9RI6N3W
>>522
上で書いてくれてるだろ。

if (モンスターのHP / モンスターの最大HP * 100 <= 0)
{
Debug.Log("モンスターがHP0%でふ(^^");
Monster死亡処理();
}
else if(モンスターのHP / モンスターの最大HP * 50 <= 50)
{
Debug.Log("モンスターがHP50%以下でふ(^^");
}
else
{
モンスターのHPいっぱい
}
2017/08/05(土) 20:22:11.69ID:Iv6I4n4s
おいこらボッキング

うまいことログだせたか?
2017/08/05(土) 20:29:20.72ID:D7XQ/3Kh
混乱に混乱を重ねてもう何が何だか分からなくなりまひた(^^
>>540でいいんでふかね?(^^
2017/08/05(土) 20:34:10.80ID:Iv6I4n4s
いいや全然だめ
2017/08/05(土) 20:38:29.84ID:D7XQ/3Kh
チンコもげそうでふ(^^
2017/08/05(土) 20:40:23.85ID:Iv6I4n4s
うーん

まずそれ片付けるか
2017/08/05(土) 20:43:49.00ID:Iv6I4n4s
からのゲームオブジェクトにこれぶっこんで動かしてみれ

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

public class IntRoundDown : MonoBehaviour {
int モンスターのHP = 4;
int モンスターの最大HP = 10;
// Use this for initialization
void Start () {
if (モンスターのHP / モンスターの最大HP * 100 <= 0)
{
Debug.Log("モンスターがHP0%でふ(^^");
}
else if(モンスターのHP / モンスターの最大HP * 50 <= 50)
{
Debug.Log("モンスターがHP50%以下でふ(^^");
}
else
{
Debug.Log ("モンスターのHPいっぱい");
}
}

// Update is called once per frame
void Update () {

}
}
2017/08/05(土) 20:45:56.44ID:Iv6I4n4s
期待どおりのログでるかね?
2017/08/05(土) 20:53:05.21ID:D7XQ/3Kh
ダメでひた(^^
549名前は開発中のものです。
垢版 |
2017/08/05(土) 20:55:26.08ID:Iv6I4n4s
じゃこれは?
1f * は(float) にかえても同等、キャストはわかるだろ?

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

public class IntRoundDown : MonoBehaviour {
int モンスターのHP = 3;
int モンスターの最大HP = 10;
// Use this for initialization
void Start () {

if (1f * モンスターのHP / モンスターの最大HP <= 0)
{
Debug.Log("モンスターがHP0%でふ(^^");
}
else if(1f * モンスターのHP / モンスターの最大HP <= 50)
{
Debug.Log("モンスターがHP50%以下でふ(^^");
}
else
{
Debug.Log ("モンスターのHPいっぱい");
}
}

// Update is called once per frame
void Update () {

}
}
2017/08/05(土) 20:57:26.70ID:Iv6I4n4s
あああああああああああああああああああ

まーたーーーーーーやってしまったああああああああああ

しにたああああああああい
2017/08/05(土) 20:58:52.08ID:D7XQ/3Kh
無事50%以下が表示されまひた(^^
2017/08/05(土) 21:01:30.08ID:Iv6I4n4s
int 同士の割り算した時点で小数点以下切り捨てられるから
そのあとあわてて100かけたって手遅れ

ましてや50かける意味は俺にはさっぱりわからんかった

ドヤ顔で教えてたやつの顔をつじのこの背中でひっぱたいてやれ

あとうっかりあげちゃうやつの顔もひっぱたいてよし・・・・
2017/08/05(土) 21:03:36.33ID:Iv6I4n4s
有効なのは

100 * &#12316;と先にかけて計算するか
1f * とfloat型の計算にもちこんでやるか
(float) キャスト

おそらく最も高速なのは1f *

で、この話はもうよし
本題・・・
2017/08/05(土) 21:05:37.19ID:D7XQ/3Kh
なんと!あとから掛けるのが駄目だったんでふか(^^
2017/08/05(土) 21:05:39.73ID:Iv6I4n4s
長くて貼れない

2017/08/05(土) 21:07:27.68ID:D7XQ/3Kh
画像にすれば貼れまふよ(^^
557名前は開発中のものです。
垢版 |
2017/08/05(土) 21:09:05.71ID:Iv6I4n4s
うつのめんどいだろ
わけて貼るから上手にくっつけれ

Hpバーの説明な
これ、俺がおとといだか酔っ払ってしゃべりながら加工したやつ

モンスター向けにやり方書くから、
プレイヤーの方は自分でやってみれ

1.UIのHPのバーpivotのxを1か0にする

2.以下のスクリプトをバーにぶっこむ
2017/08/05(土) 21:11:05.29ID:Iv6I4n4s
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class HPBar : MonoBehaviour
{
float maxXSize;
RectTransform rectTransform;

void Awake () {
rectTransform
= gameObject.GetComponent<RectTransform> ();
maxXSize = rectTransform.sizeDelta.x;
}

void UpdateValue(float t){
float x = Mathf.Lerp (0f, maxXSize, t);
rectTransform.sizeDelta
= new Vector2 (x, rectTransform.sizeDelta.y);
}

public void setHPRate(int maxHp, int currentHP){
UpdateValue (1f * currentHP / maxHp );
}
}

3.モンスターHPスクリプトから必要なときに
表示更新をお願いする
2017/08/05(土) 21:11:38.40ID:D7XQ/3Kh
あれ?(^^
NGワードに何か引っかかってまふ?(^^
2017/08/05(土) 21:12:06.78ID:D7XQ/3Kh
あっ、大丈夫でひた(^^
2017/08/05(土) 21:14:34.28ID:Iv6I4n4s
NGってのもあんだっけ
ニコニコ動画みたいだな

ちょっと現状のボッキングプロジェクト環境に簡単にあわせられるかわからん
まぁやってみれ
2017/08/05(土) 21:22:07.44ID:D7XQ/3Kh
エラー吐きまひた(^^
MissingComponentException: There is no 'RectTransform' attached to the "GameObject" game object, but a script is trying to access it.
You probably need to add a RectTransform to the game object "GameObject". Or your script needs to check if the component is attached before using it.
UnityEngine.RectTransform.get_sizeDelta () (at C:/buildslave/unity/build/artifacts/generated/common/runtime/RectTransformBindings.gen.cs:173)
HPBar.Awake () (at Assets/スクリプト/MMOスクリプト/HPBar.cs:14)
2017/08/05(土) 21:26:44.06ID:Iv6I4n4s
上の階層のGameObjectにスクリプトつけてないか?
2017/08/05(土) 21:29:11.12ID:D7XQ/3Kh
間違えて別のオブジェクトにもつけてまひた(^^
2017/08/05(土) 21:32:00.45ID:D7XQ/3Kh
アレを付けたら今度は別スクリプトでエラーが(^^
NullReferenceException: Object reference not set to an instance of an object
MonsterHP.Start () (at Assets/スクリプト/MMOスクリプト/MonsterHP.cs:45)
2017/08/05(土) 21:33:22.60ID:Iv6I4n4s
モンスターHPの45行目に何書いてあんだ?
2017/08/05(土) 21:35:58.35ID:D7XQ/3Kh
恐らくアレやアレが外れてるのが原因でふね(^^
付け直しまふ(^^
2017/08/05(土) 21:37:18.85ID:Iv6I4n4s
あれやあれか
なんでまた外れてんだ
いたずらしすぎだな
2017/08/05(土) 21:45:53.26ID:D7XQ/3Kh
void Start()が機能しなくなりまひた(^^
2017/08/05(土) 21:47:11.93ID:Iv6I4n4s
なにのぼいどすたーとだよ?(^^
2017/08/05(土) 21:48:57.32ID:D7XQ/3Kh
機能はしてることを確認しまひた(^^
HPBarうんち = GameObject.Find("HP").GetComponent<RawImage>();
ここがエラー吐いてまふ(^^
2017/08/05(土) 21:51:04.07ID:D7XQ/3Kh
原因分かりまひた(^^
2017/08/05(土) 21:52:32.08ID:D7XQ/3Kh
こことここが逆でひた(^^
http://i.imgur.com/xyprZz9.png
2017/08/05(土) 21:54:04.65ID:D7XQ/3Kh
で本題のあのスクリプト、機能しまふぇんでひた(^^
2017/08/05(土) 21:55:25.33ID:Iv6I4n4s
うん・・・?
"HP"ってなんだ?
名前が適当すぎてわからん!!!

それはなんのスクリプトですか?モンスターHP?
あと、ヒエラルキーのその周辺のキャプあげといて
一回家かえるので10分後くらい
2017/08/05(土) 21:56:39.54ID:Iv6I4n4s
ああ、OK

動かないつて、呼んでないとかじゃねーだろうな
モンスターHPからバーさん更新してねつてお願いすんだぞ
2017/08/05(土) 21:59:14.18ID:D7XQ/3Kh
http://i.imgur.com/e4cXbBH.png
2017/08/05(土) 21:59:59.72ID:D7XQ/3Kh
>>576
そうなんでふか(^^
忘れてまひた(^^
2017/08/05(土) 22:01:31.06ID:D7XQ/3Kh
ところで何の関数を呼び出せばいいんでふか?(^^
2017/08/05(土) 22:09:53.57ID:wBtO4FEQ
それをバーのスクリプト読んで考えるんじゃい
甘ったれめ
2017/08/05(土) 22:22:21.61ID:D7XQ/3Kh
なんじゃこりゃ(^^
NullReferenceException: Object reference not set to an instance of an object
MonsterHP.damaged (Int32 damage) (at Assets/スクリプト/MMOスクリプト/MonsterHP.cs:63)
Playerbokking.attack () (at Assets/スクリプト/MMOスクリプト/Playerbokking.cs:169)
2017/08/05(土) 22:23:31.30ID:D7XQ/3Kh
一体何がいけないんでふか(^^
GetComponent<HPBarSc>().setHPRate(モンスターの最大HP, モンスターのHP);
2017/08/05(土) 22:27:30.66ID:wBtO4FEQ
ちょっとまて

GetComponent<HPBarSc>().setHPRate(モンスターの最大HP, モンスターのHP);

この行、前半省略か?それともいきなりこうかいてる?
2017/08/05(土) 22:28:13.10ID:D7XQ/3Kh
public void damaged(int damage)
{
if (damage < モンスターの防御力)
{
モンスターのHP = モンスターのHP - 0;
}
else
{
モンスターのHP = モンスターのHP - (damage-モンスターの防御力);
target.GetComponent<HPBarSc>().setHPRate(モンスターの最大HP, モンスターのHP);
}

if(モンスターのHP <= 0)
{
Monster死亡処理();
}

}
2017/08/05(土) 22:29:35.15ID:wBtO4FEQ
targetには何はいってんだ?
2017/08/05(土) 22:30:47.15ID:D7XQ/3Kh
多分Ethanさんが入ってまふ(^^
2017/08/05(土) 22:33:48.73ID:wBtO4FEQ
それじゃ

Ethanさん、HPBarのスクリプト知ってるでしょ?更新おねがいね?

って書いてることになるが、それであってっか?

ほんとにEthanはHPBarScなるコンポーネントもってっか?
2017/08/05(土) 22:37:49.75ID:D7XQ/3Kh
HPゲージは減るようになりまひた(^^
しかし思わぬバグが発生したのでしばし待たれよ(^^
2017/08/05(土) 22:39:45.67ID:D7XQ/3Kh
治りまひた(^^
次に進みまひょう(^^
ちなみにバグの内容はゲージの下の黒いバーが表示されないという内容でひた(^^
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況