Path: chuka.playstation.co.uk!news1.scei.co.jp!usenet From: j6395069@ed.noda.sut.ac.jp (Tako) Newsgroups: playstation.ny.program.beginner Subject: Re: =?ISO-2022-JP?B?GyRCJVElQyVJJE5GSSRfPGgkahsoQg==?= Date: 22 Mar 1998 16:12:42 GMT Organization: PlayStation Net Yarouze Lines: 56 Message-ID: <6f3d9q$hif@news1.scei.co.jp> References: <35144557.7D2E@ed.noda.sut.ac.jp> <35152732.9BD7F1F8@ba.mbn.or.jp> NNTP-Posting-Host: 133.31.173.11 Mime-Version: 1.0 Content-Type: Text/Plain; charset=ISO-2022-JP X-Newsreader: WinVN 0.99.7J PL01 (x86 32bit) >こちらこそ始めまして。Yuuです。 詳しい解凍ありがとうございます(^^; >下を1回おして何度も情報を得てしまうのを防ぐには、前の入力では押していない >が、 >今は押しているというとこを検出すればOKです。プログラム方法は >int key; //今のキー >int old_key; //前のキー >if((key&PADLdown)!=0 && (old_key&PADLdown)==0){ //ここにしたが押されたときの > >処理 } >old_key = key; > >でもできますが普通トリガーというのをつくって > >int key,old_key,triger; >triger = (~old_key) & key; //トリガーをつくる >if(triger&PADLdown){ //ここにしたが押されたときの処理 } >old_key = key; >で手軽に使えます。 えっとこのトリガーというところがちょっと分かりづらいです. つまりold_key=keyの時にはtriger=/=keyとなり,old_key=/=keyの時にはtriger=key となるということでしょうか?ここの ~ はどういう意味があるのでしょう. なんとなくわかってもやっぱりちゃんと理解したいもので(^^; >下を押して2秒したらどんどん切り替えるときなんかは押されているときにカウント > >アップされるカウンターを >使えばいいです。 >int ctr=0; //カウンター >if(key&PADLdown) ctr++; >else ctr=0; > >if(ctr >= 60*2){ > if((ctr - 60*2) % 30 == 0) { > 1個下に切り替える。ちなみにフレームレートは60と想定して、2秒は1 > >20フレーム > 少しわかりにくいがこうすると2秒後に下に一段下がって、その後キーを押 > >しっぱなしにしていたら > 0.5秒(=30フレーム)ごとに下につぎつぎと切り替わる。 > } >} > >とすれば、単純にできると思います。 > >Yuu(seryu@ba.mbn.or.jp) わかりました.ありがとうございます. #またもちょっと質問です #u_longってのはunsigned longのことでしょうか?K&Rで調べても載ってなかったので. #それともプレステ用なのかな?