hinekure.net が http://hspdev-wiki.net/ から自動クローリングした結果を表示しています。画像やリソースなどのリンクが切れています。予めご了承ください。
オブジェクトID/HSP2 - HSP開発wiki
トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS

小ワザ

 HSP2 

オブジェクトID for hsp261

オブジェクトIDの配分と取得

  • オブジェクトIDは通常、画面内に配置した順に自動的に 0,1,2,…と番号がつけられます。
  • オブジェクト配置時にオブジェクトIDがシステム変数statに返されます。
  • ボタンが押されたときはシステム変数statに押されたボタンのオブジェクトIDが代入されます。
    +  OverView?

  • 修正:#codeで直接コードを書くときに行頭にアスタリスクがあるとHSPのラベルではなくwikiの見出しとして解釈するのでスペースが必要です。 -- kz3 2005-09-05 08:51:08 (月)
  • オブジェクトを配置した時にもstatにIDを格納するというのは初耳でした。
    オブジェクト配置の際にobjmapなどのような配列にIDを保存してHSP2掲示板で言ったような任意タイミングによる同IDの削除・再配置の初期化に利用できる企み。
    これを実装するには配置時にIDを取得できると都合が良かったので、これで実現できるかも・・・。 -- kz3 2005-09-05 08:56:17 (月)
  • 修正サンクスです。私も同じく初耳で、これだから掲示板は見逃せない。これがあれば作ってる途中にオブジェクト増やしちゃってIDを追いかけて修正するなどの手間が省けそうです。 -- GENKI? 2005-09-05 14:33:09 (月)
  • そうですね〜こんな風にできるわけですからね^^コメントで長くつけて申し訳ない。必要なら移動してもOK -- kz3 2005-09-05 15:21:35 (月)
  • オブジェクトが多くなったときにはバツグンの効果を発揮するはず。例えばタブスペとか・・・ーー;使おうかな。 -- kz3 2005-09-05 16:14:49 (月)
  • サンプル1にソース移動 --kz3 2005-09-06 13:10:42 (火)
    URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

オブジェクトのIDを変数で管理

オブジェクトに割り当てられたIDを自前で管理する例 -- kz3 2005-09-06 13:21:37 (火)
+  SAMPLE1

  • こんな風にできるわけですからね^^コメントで長くつけて申し訳ない。必要なら移動してもOK -- kz3 2005-09-05 15:21:35 (月)
  • オブジェクトが多くなったときにはバツグンの効果を発揮するはず。例えばタブスペとか・・・ーー;使おうかな。 -- kz3 2005-09-05 16:14:49 (月)
  • コードがどんな動作をするのか試していますが、55行目(チェックボックス)でERROR6→パラメータの型が違いますになるのですが。。。 -- 初心者? 2005-11-29 (火) 09:30:58
  • 1時間30のフランス語勉強のティータイムに登場。HSP3でエラー確認できましたが、スクリはhsp2向けです。良くぞ過去のページを上げてくれました、ってことでバージョン表記プラスして・・・スクリ中のchkbox絡みだとウィンドウタイトルを変えていますが、HSP3だとchkboxに対するobjprmはチェック状態を変更するための数値しか指定できなくなっています。Win32APIのSetWindowText?()を使えば解決します。 -- kz3 2005-11-29 (火) 10:54:00
  • ティータイム終了。ということで次の休憩は1時間30後・・・。 -- kz3 2005-11-29 (火) 10:57:46

オブジェクトのIDを固定して利用する

サンプル1を利用し、オブジェクトの削除後、再度同一オブジェクトを作成するときに以前のIDを利用する例
+  SAMPLE2

  • ランダム(重複可)で選んだオブジェクトIDを消したり削除したりします。
    作成(表示)されていれば消し、消されていれば作成しなおします。
    通常は一旦削除されたオブジェクトのIDは次に作成されるオブジェクトのIDに再利用されます。
    例:
    ID 0のオブジェクトを削除
      -> ID 1のオブジェクトを削除
        -> オブジェクトを作成(ID 0が割り当てられる)
    ボタンを押すと押したボタンのIDがタイトルに表示され、ランダムで10個のボタンを削除か作成します。
    ボタンテキストとIDとの一致を確認してみてください。
    (ちょっと再作成されたオブジェクトがわかりづらいと思いますが^^;) -- kz3 2005-09-15 11:01:55 (木)
  • 作っておいて言うのもなんだけど、ボタンが消えたり現れたり・・・面白いですね^^; -- kz3 2005-09-15 11:10:55 (木)
  • ただボタンが消えて表示されるだけではつまらないので、ルールを設けてゲームにしてみました。 -- kz3 2005-09-15 11:34:00 (木)
  • 拡張乱数モジュールを使用してランダムで10個のボタンを選びます。以前までは標準rnd命令を使っていたため、同じボタンを2度以上選ぶこともあり、大げさに言えば10回とも同じボタンを選んでしまって全くボタンの状態が変わらないということもあり得ました。
    が、今回は拡張乱数を使用しているので10回で10個のボタンが選ばれます。この為、表示しているボタンが、削除、そしてまた表示、といったことはなくなり、表示されているボタンが選ばれれば削除され、削除されているボタンが選ばれれば再作成(これを反転と呼ぼう。)されるようになりました。 -- kz3 2005-09-16 11:53:21 (金)
  • 実行にあたっては、モジュールの拡張乱数のモジュールファイルをインクルードしてください。 -- kz3 2005-09-16 11:54:59 (金)
  • このゲームで高得点を狙うのはかなり難しいと思います。何故なら10回ボタンを選ぶのに、削除されているボタンが10回とも選ばれれば当然押したボタンは消えることなく、10個のボタンが再作成されるだけです。
    押した数に対する得点を競ったほうがいいかな。 -- kz3 2005-09-16 11:59:24 (金)
  • 高得点を狙えるルールに変更。押したボタンが消えた場合、押した時に消えた全てのボタンのIDも点数に入るようになりました。 -- kz3 2005-09-16 12:15:42 (金)
  • やた1000点突破っ…1000の前についてる横棒はなんだろー [ha] orz -- GENKI? 2005-09-16 20:55:14 (金)
  • 高得点は簡単に狙えたりしてね・・・。クリックしたボタンが消えれば、同時に消えたボタンIDの合計が加算され、消えなかったら押したボタンのIDが引かれる・・・ということは・・・
    IDの小さいものを集中的にクリックしていれば被害は小さく、当たれば運が良ければがっぽり点数獲得。「0」ボタンがあれば消えるまでクリック。なんてったって、消えなかったら被害は0・・・汗。 -- kz3 2005-09-17 09:28:08 (土)


トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS
Last-modified: 2007-04-08 (日) 02:38:49 (2436d)