【2D】ゲーム作成ツールGameMaker part8 (897レス)
上下前次1-新
822: 名前は開発中のものです。 [] 2024/11/20(水) 03:26:16.36 ID:e4KAM6QN(1) AAS
個人だと何の問題もない気がするけど
複数人のチームとかなってくると自分以外いじられたくないメンバ変数やら
プライベート変数とか出てくるカンジなのかね
823: 名前は開発中のものです。 [sage] 2024/11/20(水) 10:38:01.08 ID:ffoDbKBM(1) AAS
まあ、チーム開発でライセンス料かかるならUnityでよくないって上に言われてGMSじゃなきゃダメなんですって説得できる自信はねぇな
824: 名前は開発中のものです。 [] 2024/11/20(水) 12:08:57.83 ID:h4IuGkfE(1/6) AAS
今はGMSじゃなくてGM。
EventのCreateやStepなんかがひとまとめに表示すると春頃告知あったと思うんだけどなかなか更新来ないね
825: 名前は開発中のものです。 [] 2024/11/20(水) 17:25:00.36 ID:QJngqkGK(1) AAS
game makerってグローバル変数にローカルからアクセスできなかったですか?
これが駄目みたいです
var hoge = 10
function test(){
show_debug_message(hoge);
}
826: 名前は開発中のものです。 [] 2024/11/20(水) 19:15:33.43 ID:h4IuGkfE(2/6) AAS
global.hogeってやればいいんじゃね
827: 名前は開発中のものです。 [] 2024/11/20(水) 19:21:35.27 ID:h4IuGkfE(3/6) AAS
GML詳しくないけど
global.hoge=10はどのオブジェクトからでも
hoge=10はそのオブジェクト内
var hoge=10 はローカル
draw_textならstring(hoge)ってやるんじゃね
828(1): 名前は開発中のものです。 [] 2024/11/20(水) 19:53:16.37 ID:h4IuGkfE(4/6) AAS
もしローカルのvar 変数を関数でやりたいなら
var hoge=3;
test(hoge)
別途スクリプト作成して
function test(_hoge){
show_debug_message(_hoge);
}
829: 名前は開発中のものです。 [] 2024/11/20(水) 20:02:39.39 ID:h4IuGkfE(5/6) AAS
ローカルじゃない場合はCreateでhogeを宣言したらいける。
hoge=5;
test()
別途スクリプト作成して
function test(){
show_debug_message(hoge);
}
830: 名前は開発中のものです。 [] 2024/11/20(水) 20:35:10.61 ID:h4IuGkfE(6/6) AAS
Unityから来たら戸惑うと思うが、ALT+Cでスクリプト作成してそこにFunction集めて管理する感じ。2.3で変わった部分はしらない
831(1): 名前は開発中のものです。 [] 2024/11/21(木) 06:04:57.55 ID:SFB/4Sf6(1/4) AAS
回答どうも
javascriptが良くわからなくて
試してみたんですが、varつけるとエラーになるみたいですね
変数宣言にvar いらないんですね
832: 名前は開発中のものです。 [] 2024/11/21(木) 07:19:19.07 ID:SFB/4Sf6(2/4) AAS
>>828
どうも
この書き方だと、関数の中からhogeアクセス出来ないみたいです
引数として渡さない限り
javascriptってこんな感じでしたっけ?
833(1): 名前は開発中のものです。 [] 2024/11/21(木) 08:20:55.95 ID:MR/Wla4K(1/4) AAS
>>831 ほんとだShow_debug_Message(_hoge)だとエラーでる。
しかしShow_message(_hoge)だと10と表示する
var hoge=10;
test(hoge)
でスクリプト内で計算
function test(_hoge){
_hoge++;
show_message(_hoge)
}
すると11と表示するから内部で処理はしてる。
いままでlocalでFunction処理で使ってたから問題ないと思うが、VMで良くても厳格なYYCだとコンパイラエラーになるかもしれない。
YYC入れてみるか
834: 名前は開発中のものです。 [] 2024/11/21(木) 08:23:35.94 ID:MR/Wla4K(2/4) AAS
yycだと高速化するが、VisualStudioの設定失敗してやってないんだよなぁ
835: 名前は開発中のものです。 [] 2024/11/21(木) 14:30:39.59 ID:SFB/4Sf6(3/4) AAS
>>833
良くわからないですね
game maker特有のルールのせいってことでしょうか
836: 名前は開発中のものです。 [sage] 2024/11/21(木) 17:06:28.10 ID:jCLFwc7s(1/2) AAS
俺も同じもの作ってみたけどエラーなんてでないけどなあ、全角スペースみたいなのがどっかに入ってたみたいな落ちではない?
837(1): 名前は開発中のものです。 [] 2024/11/21(木) 17:51:28.85 ID:SFB/4Sf6(4/4) AAS
返信ありがとう
以下のコードでこんな感じのエラーが出ます
gmのスコープが分からない
/// @description 説明をここに挿入
// このエディターでコードを作成することができます
var hoge = 10
test();
function test()
{
show_debug_message(hoge);
}
############################################################################################
ERROR in action number 1
of Step Event0 for object Object3:
Variable <unknown_object>.test(100017, -2147483648) not set before reading it.
at gml_Object_Object3_Step_0 (line 4) - test();
############################################################################################
gml_Object_Object3_Step_0 (line 4)
838(1): 名前は開発中のものです。 [sage] 2024/11/21(木) 18:38:02.98 ID:jCLFwc7s(2/2) AAS
test作る前にtest呼び出したってありませんよってなるに決まってんじゃん、上に書いてくれてる人みたいに別途用意するかfunctionを最初に持っていかないとダメよ
839(1): 名前は開発中のものです。 [] 2024/11/21(木) 18:41:09.05 ID:MR/Wla4K(3/4) AAS
これは普通にできるん?
オブジェクト
/// @description Insert description here
// You can write your code in this editor
var hoge = 10
test(hoge);
スクリプト
// Script assets have changed for v2.3.0 see
// 外部リンク:help.yoyogames.com for more information
function test(hoge){
show_debug_message(hoge);
}
840(1): 名前は開発中のものです。 [] 2024/11/21(木) 20:16:33.00 ID:MR/Wla4K(4/4) AAS
>>838 他の言語で関数後ろに書いて呼び出す仕様に慣れてると戸惑うのだと思う。
>>837
画像リンク
var hogeでローカル定義してもfunction内のhogeは色が違うのでエラーでるGMでやるならvarは付けてはいけない
hoge="1111"
function test(){
show_message(hoge)
}
test()
841(1): 名前は開発中のものです。 [] 2024/11/22(金) 05:55:39.93 ID:eKt7hF1H(1/3) AAS
>>839
それも駄目ですね
ERROR in action number 1
of Step Event0 for object Object3:
Variable <unknown_object>.test(100017, -2147483648) not set before reading it.
at gml_Object_Object3_Step_0 (line 4) - test(hoge);
ステップイベントなのが問題なんですかね
これはunityでいうupdateと解釈してますが
842: 名前は開発中のものです。 [] 2024/11/22(金) 06:25:14.97 ID:eKt7hF1H(2/3) AAS
>>840まさにそれです
後ろに書いて前で呼び出すつてのが普通と思っていたので
あとvar駄目なんですね
varでローカル定義になるんですか
関数内部にvarで定義したらローカルだと思うんですが、関数外部だと関数内部からアクセス出来ると考えていました
同じスコープからしかアクセス出来ないと解釈します
843: 名前は開発中のものです。 [] 2024/11/22(金) 07:15:50.84 ID:eKt7hF1H(3/3) AAS
色々ありがとう
javascriptではvarがそのスコープ限定の変数になるみたいですね
844: 名前は開発中のものです。 [] 2024/11/22(金) 12:13:25.08 ID:egdyagND(1/2) AAS
>>841 839はshow_degug_message(hoge)でエラー扱いされるが、Function内で演算も処理出来てるから
var board = collision_point(mouse_x,mouse_y,o_board,0,1);
if instance_exists(board){
pathfind_atk(board)//経路検索
}
こんなかんじで経路探索につかってるよ(VMはOK,YYCはわからん)
845: 名前は開発中のものです。 [sage] 2024/11/22(金) 14:21:06.62 ID:Eki41Sf/(1) AAS
どういうエラーが出たか気になるなあ
846: 名前は開発中のものです。 [sage] 2024/11/22(金) 14:34:15.59 ID:egdyagND(2/2) AAS
show_degug_message(hoge)とエラーでてshow_message(hoge)だとOK
上下前次1-新書関写板覧索設栞歴
あと 51 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.013s