【2D】ゲーム作成ツールGameMaker part2【マンセー】at GAMEDEV【2D】ゲーム作成ツールGameMaker part2【マンセー】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト676:名前は開発中のものです。 07/12/10 21:08:47 hgs58Ul1 あ、描画イベントなのは draw_うんちゃらでしか表示する方法を知らないからでした。 677:名前は開発中のものです。 07/12/11 00:16:53 QXoJ6Zco すいません、GML初心者です。 if relative position (4,0) is collision free for Only solid objects move relative to position (4,0) else if relative position (4,-8) is collision free for Only solid objects move relative to position (4,-8) move in direction 270 at most 8 till a contact with solid objects と、ある場合GMLで記述するにはどうすれば良いのでしょうか。教えてください。 678:名前は開発中のものです。 07/12/11 11:20:53 LOC5oPUm >>677 たぶん、こう。 if (place_free(x+4, y)) { x += 4; } else if (place_free(x+4, y-8)) { x += 4; y += -8; // y -= 8; でもいい move_contact_solid(270, 8); } 679:672 07/12/11 18:12:40 1veI1+hN >>675 ぉ!できましたか。成功してよかったです。 ところで>>667のobject_set_depth(ind,depth)ですが、その使い方だとNGかと思われます。 平たくいえばオブジェクト=設計図、インスタンス=オブジェクトのコピーであり、F5,F6でデバックした時や実行ファイルで実際に表示されているものはインスタンスです。 object_set_なんちゃら()の関数はオブジェクトリソースを直接変更しにいく関数なので、ヘルプの冒頭に説明されているとおり、すでにオブジェクトのインスタンスが 生成されている場合インスタンスにオブジェクトのプロパティが格納されていて予期せぬ効果を引き起こす可能性があります。 深度を変えたい場合はインスタンスidを直接さして個々に変更するのが常套手段かと思います。>>672のobj_dispを使って説明すると var DispObjID;//インスタンスidを保存する変数 DispObjID = instance_create(self.x, self.y, obj_Disp);//インスタンス生成instance_create()は返り値にインスタンスidを出力する DispObjID.depth += 2;//例として設定されている深度より2奥に設定変更 こういった感じでしょうか。ヘルプによく書かれている引数のindはよく読まないと、インスタンスなのか、オブジェクトなのか、スプライトなのか混同してしまうことが あるのでそこらへんを意識してないと「インスタンスが表示されない」+構文も間違えてないので「エラー表示がない」とかいうことになります。 自分も実際しょっちゅうやらかしてます・・・orz 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch