SRC質問掲示板Mk2
(現在 過去ログ94 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■17154 / inTopicNo.1)  Hotpointの自動消滅
  
□投稿者/ エグプラン -(2005/08/05(Fri) 17:39:03) [ID:ZqwuYT5W]
    どうも。訊きたい事があってここへ来ましたエグプランです
    現在「クリックせずに数秒経つと消えてしまうHotpointのギミックを作成中なのですが、どうも上手く行きません
    というのも、その数秒経つ、というのが自分ではWaitを使うか、Doで変数を徐々に上げていく、程度しか思いつきません
    加えて、Wait中はHotpointをクリック出来ないため、八方塞りとなってしまいました
    これとは別に、何か良い方法があると言う方は、教えていただければ嬉しく思います
引用返信/返信 削除キー/
■17158 / inTopicNo.2)  Re[1]: Hotpointの自動消滅
□投稿者/ ハク -(2005/08/06(Sat) 00:15:21) [ID:WlhLq5Ju]
    2005/08/06(Sat) 00:16:34 編集(投稿者)

    ハクというものです。

    GetTime(Now)でできるかと思ったのですが受け付けてくれませんでした。
    ヘルプのHotPointの頁に「Waitコマンドでクリック待ちにした状態で〜」とある以上
    HotPointコマンドでは制限時間の設定は不可能かと思われます。

    代案ですが

    ====

    (ボタンを表す画像を描画)

    Set 開始ミリ秒 GetTime(Now)
    Do
    Loop While ((KeyState(1) = 0) And (GetTime(Now) - 開始ミリ秒 < 3000))

    If KeyState(1) = 0 Then
     三秒たったのでタイムオーバー
    Else
     変数のMouseXとMouseYでどこを押したか調べて処理

    =====

    とすれば同様の動作をすることを確認しました。

    HotPointと異なり解説が表示されませんが、それもやろうと思えばできるので
    これで代用してはいかがでしょうか。

    一度試してみて下さい。それでは。
引用返信/返信 削除キー/
■17163 / inTopicNo.3)  Re[2]: Hotpointの自動消滅
□投稿者/ エグプラン -(2005/08/06(Sat) 10:04:32) [ID:ZqwuYT5W]
    助言どうも有り難う御座います
    お陰でとりあえず時間内クリックの方は動くようになりました
    しかし、MouseX,Yを使用すると、クリック点が、その画像と一致せず(大体画像の左上)、加えてクリック点が狭すぎて困っています
    クリック点の処理範囲は、
    If MouseX > (クリック点 - 100) and MouseX < (クリック点 + 100) Then
    (Yも同様)
    で処理範囲を広げようとしたのですが、どうにも動いてくれません
    この場合、どうすれば良いのでしょうか?

引用返信/返信 削除キー/
■17165 / inTopicNo.4)  Re[3]: Hotpointの自動消滅
□投稿者/ ハク -(2005/08/06(Sat) 20:30:37) [ID:1kVUGi4f]
    ハクです。

    Andの両辺に式を使うときは両辺をカッコで囲まないと
    正常に判定されないことがあります。

    If (MouseX > (クリック点 - 100)) And (MouseX < (クリック点 + 100)) Then

    これでお試しください。
    もしこれでもダメならさらに

    If ((MouseX > (クリック点 - 100)) And (MouseX < (クリック点 + 100))) Then

    としてみてください。この方法で当方では正常な動作を確認しています。
引用返信/返信 削除キー/
■17168 / inTopicNo.5)  Re[4]: Hotpointの自動消滅
□投稿者/ エグプラン -(2005/08/07(Sun) 07:34:36) [ID:ZqwuYT5W]
    If,Andの際、そんなに()が必要だとは思いませんでした
    しかし、相も変わらず動いてくれません
    とりあえず、仮組みして書いた物を乗せてみますので、問題があれば教えてください

    --------------------------------------

    イベント:

    Local クリック点X = Random(480)
    Local クリック点Y = Random(480)

    PaintPicture ユニット クリック点X クリック点Y 64 64 透過
    Refresh

    Set 開始ミリ秒 GetTime(Now)
    Do
    Loop While ((KeyState(1) = 0) And (GetTime(Now) - 開始ミリ秒 < 3000))

    If KeyState(1) = 0 Then
     talk システム
     時間切れ
     End
    Else
     If ((MouseX > (クリック点X - 100)) And (MouseX < (クリック点X + 100))) Then
      If ((MouseY > (クリック点Y - 100)) And (MouseY < (クリック点Y + 100))) Then
       talk システム
       成功
       End
      Else
       talk システム
       失敗1
       End
      EndIf
     Else
      talk システム
      失敗2
      End
     EndIf
    EndIf

    Goto イベント

    ------------------------------------------------------

    以上です。動作テストの為、各所にシステムメッセージがあり、また最後に始めに戻るようループしています。
    それでは、よろしくお願いします

引用返信/返信 削除キー/
■17170 / inTopicNo.6)  Re[5]: Hotpointの自動消滅
□投稿者/ TomTom -(2005/08/07(Sun) 09:20:37) [ID:M67VB66U]
    TomTomです。

    Do〜Loopなどでループ処理をしている際、プレイヤーからの入力を受け付けない状態になることがあります。おそらくはこれが原因かと。
    この場合、DoとLoopの間に「Wait 0」という一文を入れておくと、プレイヤーの入力を受け付ける余地が出来るため、うまくいくことがあります。
引用返信/返信 削除キー/
■17171 / inTopicNo.7)  Re[5]: Hotpointの自動消滅
□投稿者/ ハク -(2005/08/07(Sun) 13:30:21) [ID:YOmTp32A]
    ハクです。

    > If,Andの際、そんなに()が必要だとは思いませんでした

    今回の場合、確かにカッコが無くてもTomTomさんの指摘された点を
    修正すると正常に動作することを確認しました。
    誤ったことをお伝えして申し訳ありませんでした。
引用返信/返信 削除キー/
■17172 / inTopicNo.8)  Re[6]: Hotpointの自動消滅
□投稿者/ エグプラン -(2005/08/07(Sun) 14:34:04) [ID:ZqwuYT5W]
    どうも、エグプランです。
    お二方のおかげで無事作動する様になりました。
    最後に重大なアドバイスをしていただいたTomTomさん、何度も親身に相談に乗っていただいたハクさん、どうも有り難う御座いました
解決済み!
引用返信/返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Pass/

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

- Child Tree -
- Antispam Version -