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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0902
kagerin背景画像の表示の仕方1未解決


kagerin

リンク

2015/9/2(Wed) 23:58:09|NO.71277

画像.jpgをとして表示したいのですが、下のスクリプトだと文字とかが描写されないんですが
どうすればいいですか? 

buffer 1;バッファを確保 cls 4 picload "画像.jpg";背景画像 screen 0,640,480 gmode 2;gcopyのモード変更 font "MS Pゴシック",20,1 notesel Question_S ; noteload "ファイル名" noteadd "インベーダー/INBE-DA-";文字列の追加 ;問題は「 問題の文字列 / ローマ字読み(大文字)」の形で設定する QsFlag=1;問題を出すかどうか BreakFlag=0;ゲームストップ時のメインループの脱出用 TimeLimit=30;制限時間 Now=gettime(6);現在の時間(秒) QsTimer=0;経過時間 QuestionNo=0;問題のカウント KeyNo=0;入力した文字の数 dim SCORE,2;入力問題数と入力文字数 onkey gosub *キー入力 repeat if QsFlag=1 : gosub *問題生成 gosub *時間経過 if DrawFlag=1 : gosub *画面更新 if BreakFlag=1 : break;BreakFlagの値が1ならゲームストップ wait 1 loop ;ゲームストップ時 BreakFlag=0 onkey 0 cls pos 10,10 :mes "結果発表" pos 10,30 :mes "入力問題数 "+SCORE(1)+"問" pos 10,60 :mes "入力文字数 "+SCORE(0)+"文字" pos 10,90 :mes "入力ミス回数 "+Miss+"回" stop return *キー入力 KeyCode=strmid(Question_Ans,KeyNo,1) if KeyCode="-":poke KeyCode,0,189 if wparam=peek(KeyCode){ KeyNo++ SCORE(0)++ if KeyNo=strlen(Question_Ans):QsFlag=1:SCORE(1)++ DrawFlag=1 return }else : Miss++ : DrawFlag=1 return *時間経過 if Now!=gettime(6){;Nowとgettime(6)の値が異なっていたら経過時間を+1する Now=Gettime(6) QsTimer++ DrawFlag=1 if QsTimer>=TimeLimit{;経過時間がタイムリミットを上回ったらゲームストップする breakflag=1 } } return *問題生成 if QuestionNo>=notemax : BreakFlag=1;終了した問題数が全ての問題数を上回ったらゲームストップする Get_S="" noteget Get_S,QuestionNo split Get_S,"/",Question,Question_Ans;問題文を問題とローマ字読みのものに分ける QuestionNo++ KeyNo=0 DrawFlag=1 QsFlag=0 CharaX=10 return *画面更新 DrawFlag=0 redraw 0 color : boxf color 255,255,255 pos 60,10 :mes Question;問題文日本語を表示 pos 60,40 :mes Question_Ans;問題文ローマ字つづりを表示 color 255 pos 60,40 :mes strmid(Question_Ans,0,KeyNo) color 255,255,255 pos 10,100 :mes "残り時間  "+(TimeLimit-QsTimer)+"秒" pos 10,120 :mes "入力問題数 "+QuestionNo+"問" pos 10,140 :mes "入力文字数 "+KeyNo+"文字" pos 10,160 :mes "入力ミス回数"+Miss+"回" pos 10,180 :mes "入力得点数 "+SCORE(0)+"点 gsel 0 ; 画面「0」に描画先指定 pos 100,0 ; 背景画像の貼り付け位置指定 gcopy 1,0,00,640,580 ; 背景画像の貼り付け redraw 1 return



この記事に返信する


リンク

2015/9/3(Thu) 00:16:29|NO.71279

プログラムは、書かれたとおりの順番に処理を実行します。
*画面更新 のルーチンを見ていくと
問題や残り時間などの文字を描画した後に、背景を描画(上書き)しています。

背景を描画してから文字などを描画するように順番を変えましょう。



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