HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0220
Cvcvckl色移り7解決


Cvcvckl

リンク

2011/2/20(Sun) 14:31:13|NO.37199

2Dのゲームでキャラクターを動かして遊べるようにしました。
地面の判定は色(黒)にしてみたところ、キャラクターが黒のところに重なると色移りしてしまう現象があります。
どうしたら良いでしょうか?



この記事に返信する


ookenn

リンク

2011/2/20(Sun) 14:39:06|NO.37200

回答になってはいませんがこれでは回答のしようがないので少し聞かせてください
色移りという発言が少しわかりかねるのですが、どんな感じかもう少し明確にしてほしいです。
それと地面とのあたり判定の部分のスクリプトを出してくれるとどんな風な処理の流れ化が分かりますので、できれば貼り付けてくれるとありがたいです



Cvcvckl

リンク

2011/2/20(Sun) 14:44:05|NO.37201

色移りの例を出すと、黒の上に青色が重なると青っぽくなったりします。
スプリクトはむちゃくちゃですけど、一応貼っておきます。
キャラクターの位置はsx,syとおいています。


bgscr 0,10000,1000,4,200,150,1500,800 buffer 1,1500,800 picload"最初の町.bmp" buffer 2,87,181 ;バッファー2をキャラクターと置きます picload"主人公.bmp" buffer 3,1500,100 picload"メニューバー.bmp" muki=0 *start redraw 0 bload"モウチャンストーリー.as",lv if muki=0:mukix=0 if muki=1:mukix=87 pget sx+40,sy+181 getkey kl,39 getkey kr,37 if ginfo_r=0 and ginfo_g=0 and ginfo_b=0{ getkey kc,67 countloop=0 a=0 } else{ countloop=countloop+1 } if sx<1413 and kl=1{ sx=sx+2 muki=0 } if sx>0 and kr=1{ sx=sx-2 muki=1 } if sx<0:sx=0 if sx>1413:sx=1413 sy=sy+2+countloop/7 if kc=1:a=1 if a=1:sy=sy-7 if ginfo_r=0 and ginfo_g=0 and ginfo_b=0:sy=sy-2 //最初の町からスタート gsel 0,0 pos 0,0 gcopy 1,0,0,1500,800 //キャラクターの描画 gsel 0,0 gmode 2,87,181 pos sx,sy ;sx=主人公のx座標、sy=主人公のy座標 gcopy 2,mukix,0,87,181 //メニューバーの表示 gsel 0,0 gmode 2,1500,100 pos 0,700 gcopy 3,0,0,1500,100 color 0,255,0 font"MS ゴシック",60,1 pos 120,725 mes""+lv+"" await 1 redraw 1 redraw goto,*start



ookenn

リンク

2011/2/20(Sun) 15:18:59|NO.37202

すみませんスクリプトはだいたい理解できたのですが・・・。
どうもどういうう状況下ぱっとしません
スクリーンショットなどがあればいいのですが・・
ちょっと関係ないのですが
>gcopy 2,mukix,0,87,181
の部分ありますよね
これって右向きに動くときに,ukixに87が代入されて
なにも描画されなくなりますがこれで合っているのですか?



takaya

リンク

2011/2/20(Sun) 15:20:13|NO.37204

すみません。
ソースがだいぶ変わってしまいました。
自分もまだまだだった。


screen 0,10000,1000,4,200,150,1500,800 buffer 1,1500,800 picload "最初の町.bmp" buffer 2,87*2,181 ;バッファー2をキャラクターと置きます picload "主人公.bmp" buffer 3,1500,100 picload "メニューバー.bmp" muki=0 bload "モウチャンストーリー.as",lv gsel 0,1 gmode 4,,,256 *start redraw 0 //最初の町からスタート pos 0,0 gcopy 1,0,0,1500,800 //キャラクターの描画 color 113,113,113 pos sx,sy ;sx=主人公のx座標、sy=主人公のy座標 gcopy 2,mukix,0,87,181 //メニューバーの表示 pos 0,700 gcopy 3,0,0,1500,100 color 0,255,0 font"MS ゴシック",60,1 pos 120,725 mes ""+lv+"" redraw 1 redraw 0 if muki=0:mukix=0 if muki=1:mukix=87 pget sx+40,sy+181 getkey kl,39 getkey kr,37 if ginfo_r=0 and ginfo_g=0 and ginfo_b=0{ getkey kc,67 countloop=0 a=0 } else { countloop=countloop+1 } if sx<1413 and kl=1{ sx=sx+2 muki=0 } if sx>0 and kr=1{ sx=sx-2 muki=1 } if sx<0:sx=0 if sx>1413:sx=1413 sy=sy+2+countloop/7 if kc=1:a=1 if a=1:sy=sy-7 if ginfo_r=0 and ginfo_g=0 and ginfo_b=0:sy=sy-2 color 113,113,113 await 20 goto *start

gsel についてですが、最初の一度だけに変更しました。

gmode は 4 変更しました。
(透明色 color 0,0,0 → color 113,113,113 )

(注意)
キャラクターの透明色を
color 113,113,113
に変更してください。

これでどうでしょうか・・・?



Cvcvckl

リンク

2011/2/20(Sun) 15:27:50|NO.37207

takayaさんのスプリクトで解決しました。
みなさんありがとうございました。



ookenn

リンク

2011/2/20(Sun) 15:42:09|NO.37208

そういうことでしたか
あっあと、解決していますが
先ほども言ったようにステージに坂などの起伏がつくとこのスクリプトは通用しないのであしからず
あと
buffer 3,1500,100
picload "メニューバー.bmp"
のところを

celload "メニューバー.bmp"

とするとcelputで描画できますから楽ですよ^^
じゃぁ頑張ってください



Ve

リンク

2011/2/20(Sun) 18:17:00|NO.37209

どこからつっこんで良いやらわからん・・・。

別のスレッドでカクカクするって言う内容元のソースが上のだったら、
カクカクする要因はマップの貼り付けだと思われる。

大きい画像ファイルを毎回貼ると負荷が高いよ。


・・・あとはもう・・・

bgscr 0,10000,1000,4,200,150,1500,800
で領域凄い取ってるのも気になるし


buffer 1,1500,800 picload "最初の町.bmp"


buffer 1 picload "最初の町.bmp"

で良い。
picloadで初期化してロードしているので、ウィンドウサイズ指定しても無駄になる。



ONION software Copyright 1997-2023(c) All rights reserved.