約 5,739,688 件
https://w.atwiki.jp/rosales/pages/12.html
why smokers are welcoming electronic cigarettes Every year billions of dollars are lost by businesses nationwide to employee fraud and theft and the number of incidents are rising. If your business is small, you re especially vulnerable to occupational fraud and less able to absorb a loss than a larger business; in fact, it is not unusual for a small business to be bankrupted by the theft of a single employee. In their 2012 Report to the Nation on Occupational Fraud and Abuse, the Association of Certified Fraud Examiners (ACFE) reports that small businesses suffered a "disproportionately large" median loss of $147,000.. Inside this mouthpiece there s a small atomizer and a really small battery that powers up the atomizer,http //www.toshibaprobe.com/E611-1.html Edan E611-1 Ultrasound Transducer Probe Transvaginal which can be thought of like the motor of the cigarette. The gas of the electronic cigarettes would of course be the battery juice, but there s also e liquid, which is what gives the cigarettes their flavor and also their way of being a source of nicotine. E Liquid, very commonly referred to as e juice, is a liquid that has tobacco in it, and when a smoker takes a drag on the e cigarette, the e liquid goes through the atomizer and is turned into a vapor that the smoker inhales. With the growing popularity of the electronic cigarettes, the different aspects related to its usage and safety are becoming a concern for people. One of the most important concerns is related to the charging of the batteries. Though it may sound very simple, but it can get complicated if not used in the proper way. It s one thing to ban cigarettes in public given that smokers impose unwanted carcinogens and odors on others. It s understandable to want to stamp out cigarette smoking given its well documented dangers. But elected officials are restricting a product that isn t demonstrably harmful or annoying simply because it may not be as helpful as expected. Let have a look at how electronic cigarettes pens or e hookahs work and get familiar with the different parts of e cigarettes An e hookah pen comprises of a battery, atomizer and a flavor cartridge. Battery is the driving force of any e hookah. It is held within the body of the electronic hookah unit. INsig2 LawTech Europe Congress mission is to create a cutting edge forum that addresses four core areas; digital evidence, forensic investigations, data analytics, and legal efficiencies. These disciplines are at the forefront of organisational thinking. INsig2 LTEC s guiding philosophy is to embrace solutions to empower corporations, law firms, and government institutions to limit the potential exposure to legal, financial, and reputational risks and to increase overall competence around these topics.
https://w.atwiki.jp/yasakor0novels/pages/72.html
CROSS character Story's トップページ>小説Index>投稿キャラ・CROSS character Story s 投稿キャラ・CROSS character Story s 皆さんが投稿したCROSSキャラクターStory sのNovel s 【Novel s】 ❒ 斑鳩公平×角坂翔 夢の狭間 カノン ❒ 角坂翔×斑鳩公平 ラジオの中の君に~君は君でしかないのだから~ カノン ❒ × [[]] ❒ × [[]] 【イラスト投稿!?】 お絵かき投稿が出来ます 自由に書いてみましょ^^b ■ 投稿ページ 上へ トップページ>小説Index>投稿キャラ・CROSS character Story s
https://w.atwiki.jp/asigami/pages/3791.html
曲名 アーティスト フォルダ 難易度 BPM NOTES/FREEZE(SHOCK) Triple Cross BEMANI Sound Team "dj TAKA DJ YOSHITAKA SYUNN" A20+ 楽9 196 342/19 STREAM VOLTAGE AIR FREEZE CHAOS 57 57 21 48 10 楽譜面(9) / 踊譜面(13) / 激譜面(17) 譜面 動画 https //www.youtube.com/watch?v=NsNmrHPRI3A (x?, NOTE) 解説 21/11/18追加。 イベント「BEMANI 2021真夏の歌合戦5番勝負(21/7/29 10 00 - 21/9/30 18 00)」のTEAM REDのBONUS TRACK。 DDRではイベント参加有無に関係なく無条件解禁。 コメント コメント(感想など) 最新の10件を表示しています。コメント過去ログ 115コンボ目、149コンボ始動の実質BPM200相当の8分縦連(交互踏み完全不可)は9にしては規格外。それと328コンボ目のFAが採譜ミスなのか裏拍8分になっているのでPF狙いは要注意。 (2021-12-05 00 06 51) 最近楽・踊譜面で唐突に縦3連出てくるの多いけどPFC・MFC阻止したいのわかりやすすぎる。この曲の場合速いしFAで片足縛りだから余計キツイ。 (2021-12-06 01 23 38) この曲の習譜面は現在確認出来ている中ではオバピリ・ニーソ姫に次ぐ90度踏みが出てくる譜面で、習譜面では唯一6パターン全ての同時踏みが出てくる譜面でもある。 (2022-01-22 17 41 19)
https://w.atwiki.jp/emylynco/pages/13.html
Ross Oafu ワイキキから近いのはアラモアナの裏 ワード パールリッジ パールハイランズ ハワイカイ
https://w.atwiki.jp/switchsoft/pages/350.html
Winning Post 8 2017 パッケージ版/ダウンロード版 育成 経営 競馬 『Champion Jockey Special』と連動 8,424円(税込)5.7GB 20年以上続く競馬シミュレーションゲームの決定版! 時代の頂へ、駆け上がれ。 ■タッチパネル対応でどこでも手軽に馬主生活! 中央競馬を模した箱庭競馬世界のオーナーブリーダー(馬主兼生産者)として、競馬界に携わる人々とのドラマや名馬を輩出していく喜びが味わえる競馬シミュレーションゲームの決定版がNintendo Switchに登場です! 「Joy-Con」を使用した片手操作や「モーションIRカメラ」による自分だけの愛馬ビジュアルの作成など、今までなかった新しい競馬シミュレーションを存分に楽しめます。 また、本作では2017年の日本ダービーまでの結果を反映し、これからの主役となる最新のスターホースたちを追加。JRA発表の2017年夏番組など、最新の競馬事情にも対応しています。 ●『Winning Post 8 2017』とは 受け継がれる「人馬の絆」をコンセプトに競走馬だけではなく人物も血を継承することが可能。プレイヤーの子孫は競馬関係者となり、さまざまなシーンで活躍させることができます。 プレイヤーが育てた愛馬に騎手となった息子が騎乗するなど、「人馬の絆」による競走馬のドラマが楽しめます。 また、初心者向けのクリア式チュートリアル「新人馬主モード」では配合の方法や競馬場での過ごし方を丁寧にレクチャー。 最近競馬を始めた初心者でも奥深い馬主生活を体験でき、さらに、多様なカメラワークで競馬ファンなら誰もが興奮する迫力のレースシーンを演出。臨場感あるレースを体験することができます。 【特長1:「Joy-Con」やタッチパネルで外出先でも手軽に遊べる!】 「Joy-Con」を使用することで、片手でリモコンを操作するような手軽な感覚でプレイでき、また、携帯モードでは大きなタッチパネルを使ったショートカット機能を実装し、愛馬の管理がより簡単・便利に! 自宅でベッドに寝そべりながら、また、外出時の移動時間でも気軽にゲームを楽しめます。 【特長2:「モーションIRカメラ」で自分だけの愛馬ビジュアルを作成可能に!】 「モーションIRカメラ」に対応しており、被写体として撮影したものによって愛馬の毛色がさまざまに変化。 毛色と白徴の組み合わせは実に10万通り以上で、白毛やシマウマ柄、チーター柄などのめずらしい毛色になることも。 プレイヤー自身でビジュアルを決めた所有馬には自然と愛着が湧き、活躍した際の喜びはいっそう高まります。 【特長3:『Champion Jockey Special』と連動】 本作と同時発売のジョッキーアクションゲーム『Champion Jockey Special』のセーブデータがあれば、ゲーム内アイテム“お守り各色10個&所持金10億円”を入手可能。 また、『Champion Jockey Special』で育てたジョッキーを本作で愛馬の主戦騎手にしたり、本作で育てた愛馬に『Champion Jockey Special』で騎乗したりすることもできます。 配信日 2017年9月14日 メーカー コーエーテクモゲームス 対応ハード Nintendo Switch 対応コントローラー Nintendo Switch Proコントローラー タッチスクリーン対応 プレイモード TVモード, テーブルモード, 携帯モード, 片手プレイ プレイ人数1人 対応言語 日本語 CERO A セール履歴コーエーテクモ競馬ゲーム 早期購入キャンペーン 7581円(10%off) 2017/9/14 0 00~2017/9/28 23 59 ウイニングポストは、競馬ゲームだけど内容としては会社経営SLG。 自分が当然社長で馬が社員ってとこ。調教師や騎手は管理職かな。 調教はスピード強化とかのあいまいな方針だけ調教師に伝えて具体的に なにやるかはプレイヤーは指示できない。ほんと経営ゲームだから。 -- 名無しさん (2018-07-14 07 01 00) 名前 コメント
https://w.atwiki.jp/iwannabethewiki/pages/2213.html
製作者 Gurutaming DL先↓ http //www.mediafire.com/download/2wkje4xzehx4nv7/I+Want+To+Hear+The+Southern+Cross.zip
https://w.atwiki.jp/takejava/pages/16.html
「ゲーム製作におけるSwingとAWT」を混同して利用する方法について検討するページです。 ※特にゲームループを独自に実装している人向けのページです この辺の問題はゲーム作りでなくても、一度はぶつかるのではかと思います 問題、現象 例えば、ちょっとした処理をボタンでやりたいって気軽に思って、じゃぁボタンクラスを使ってみようかってことになります。しかし、今までフレームのグラフィックスを利用してゲームループでゴリゴリ描画していて、いざ、その上にSwingのボタンをのっけてみたけれど、なんかちらちらして上手く描画されません。でも、ボタンを設置した辺りをクリックしたらボタンは押せてるみたいなんですよね・・・、なんて現象が発生してしまいます。 一発で解決する方法 これを解消する方法は、「SwingとAWTを一緒にしない」です。 間違いないです。解決です。お疲れ様でした。 では納得いきませんよね。 納得いかない方は以下をお読みください。すこしは理解の手助けになるかと思います。 一般的にはどうなの? 一般的に(といいますか、ネットで調べている限りですが)、SwingとAWTを一緒にしてはいけないっていう表現がよくみられますが、私の経験上でも、実際よくありませんでしたし、SwingとAWTは一緒くたにすべきものではないんだなっていうことが分かってきました。 ただ、絶対だめ、というわけでもありません。上手くやるためには、ものすごい勉強してSwingを理解した上でないとかなり危険だということです。 アクティブレンダリングとSwingとAWTの相性が悪いワケ わたしも、ソースレベルで理解しているわけではないので、事細かに説明することは不可能です。 しかし、ゲームプログラミングを勉強している上で必要なことはわかっています。 まず、「SwingとAWTでは描画の同期がとられない」ということなんです。 例えば、AWTがそれぞれスレッドを持っていて、アクティブレンダリングをしているとします。 そして、そのAWT同士を重ね合わせるとどうでしょうか? これは問題なく描画されます。 (Swingについては処理的に可能だとは思いますが、数々の問題が発生し打ちのめされるでしょう) こうイメージすると分かるかと思います。 「AWTは各パーツが窓である」と。 窓って前後関係がしっかり保障されていますよね? 例えば、さまざまなプレーヤーを実行して重ね合わせても、一番後ろにある窓の映像が手前に映る、なんてことは滅多に無いと思います(あるとすれば、悪意のあるソフト、もしくは設定が悪い、最悪Windowsを疑うレベルになると思います)。 じゃぁ、Swingはなんなんだ?っていう話になるかと思います。 Swingは、窓の世界に閉じられたパーツの集まりって言ったらわかるでしょうか? タブン、分からないかと思います(読み返して自分でもわからなかったです)。 いろんな言い方をしてみます。 「Swingはソフトウェアコンポーネントだ」 「SwingはOSに依存しない(ように)パーツを設置できたりするライブラリだ」 「Swingは独立しているものだ」 「Swingはメインのスレッドとは別のスレッド(しかもシングル)で動いている(ちなみにEventDispathThread:EDTというスレッドです。検索すると色々分かります)」 「そもそもSwingとAWTは比較するレベルのものではない」 「ゲーム画面上にオリジナルのかっこいいボタンをつくることと、Swingでボタンをつくることは同義ととらえていい」 と、勝手に、思うがままに、書き連ねてみましたがどうでしょうか?少しはイメージが変わったでしょうか。ここまで読んで、まだJava=Swingみたいなイメージを持たれている方は、一旦リセットしたほうがいいかもしれません。 つまりは、「AWTとSwingは別スレッドで動いている」というところが決定的な理由になるかと思います。そして「SwingはAWTのグラフィック領域を間借りしている」ということです。 なので、AWTにてゲームループの中でグラフィックをゴリゴリ描画しているその上に、Swingをいくらのっけても、速攻で上書きされてしまうためにちらつきが発生してしまいます。あくまで、画面にでてくる絵がおかしくなっているだけなので、ボタンが押せる、言い換えれば、マウスやキーボードなどの入力は効く、と言う状態になります。 この辺がなんとなく理解したならば、解決方法として、AWTとSwingのスレッド間の同期をとればよいのでは?というものが浮かんでくるかと思います。ぜひ、やってみてください。そして、もし単純に解決できたというのであれば、ご連絡ください。わたしの能力では到底無理なので。というか仕事で上司にやれと言われない限りは絶対その方法はとりたくないです。 よって、先ほど申し上げた通り「SwingとAWTを一緒にしない」が私の解答です。 ボタンを実装したくば、己でゲームループ内で効くように実装しろ!ということです。 解決にはなっていないと思いますが、紆余曲折あってこの結果に至ったので自分では納得しています。 ゲームループでは何に対して描画してる? フレームでしょうか?キャンバスでしょうか?パネルでしょうか? Javaだとこの辺からGraphicsを取得して、描画処理をするかと思います。 まず、第一段階の切り分けとして、 フレーム(Frameクラス、JFrameクラス)とキャンバス(Canvasクラス)はAWT、パネル(JPanelクラス)はSwingです(JFrameはWindowクラスを継承しているもので、OSに依存するのでAWTとは言えないようです)。 最初、何も知らない私は、とりあえず、フレームにパネルを乗っけてそのパネルのGraphicsを参照していました。知らずにAWTとSwingを混同させていて、今思えば恐いことをしていました。決して悪いとは言いませんが、もし、それ以外にSwingを利用しないのであればやめたほうがいいでしょう。Swingを噛ましているという時点で余分な処理が増えるようなものです。やっぱりリソースは大切にしたいですよね。 じゃあ、ゴリゴリループ描画もしたいし、Swingも使いたいときはどうすれば?いいの。 条件付きですが、すっきり解決する方法があります。 条件とは「重ね合わせない」、「フレームに対するアクティブレンダーはしない」です。 そうした条件のもとであれば、「ゴリゴリループ描画するCanvasとSwingで棲み分ける」ことで解決することができます。 つまり、Swing同士、AWT同士はもちろん描画の同期は保障されるのですが、 SwingとAWTでは全く同期の保障はとられないと思ったほうがいいです。 まず、AWTは重量コンポーネントという意味不明な日本語で訳されたものであるということです。 ネイティブつまり、OS(プラットフォーム)に依存しているということです。 例えば、Frameクラスです。 import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Canvas; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.image.BufferStrategy; import java.text.DecimalFormat; import javax.swing.JButton; import javax.swing.JDesktopPane; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JViewport; import javax.swing.JWindow; /* * ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ * createBufferStrategy();関連のエラーについて * * ■createBufferStrategyメソッド呼び出しタイミングでエラーがでる件について * 「Component must have a valid peer」 と、エラーがえらそうに言っているように、 * createBufferStrategy()メソッドを呼び出した時点で、 * 「peerが確定してない(生成できていない)」ことが原因のようだ(peer確定問題と言うようだ) * * エラーの例1) * Exception in thread "main" java.lang.IllegalStateException Component must have a valid peer * at java.awt.Component$FlipBufferStrategy.createBuffers(Component.java 3981) * at java.awt.Component$FlipBufferStrategy. init (Component.java 3955) * at java.awt.Component$FlipSubRegionBufferStrategy. init (Component.java 4478) * at java.awt.Component.createBufferStrategy(Component.java 3832) * at java.awt.Canvas.createBufferStrategy(Canvas.java 194) * at java.awt.Component.createBufferStrategy(Component.java 3755) * at java.awt.Canvas.createBufferStrategy(Canvas.java 169) * at Main. init (Main.java 80) * at Main.main(Main.java 37) * * 例えば * setVisible()メソッドやpack()メソッドを一度も実行しない状態で、createBufferStrategy()メソッドをたたくとエラーになった * * peerはいつ確定するの? * ①super.addNotifyメソッドを呼び出した後(確実っぽい) * ②show()メソッド(フレームのsetVisible(true)メソッドにあたる)やpack()メソッドを呼び出した後(PC性能に依存?ちょっと怪しい) * * 解決するには? * ・①で対応することを考えた場合 * 今回の場合はCanvasクラスのaddNotifyをオーバーライドし、その中でsuper.addNotify()呼び出す、そのあとにcreateBufferStrategy()メソッドを呼び出して対応 * ・②で対応することを考えた場合 * frameにcanvasをaddしておくのはもちろんなのだが、 * 「frame.setVisible(true);」もしくは「frame.pack();」をした後に、canvas.createBufferStrategy();メソッドを呼び出して対応 *①、②両方とも対応しておけば間違いないはず! * * 関連事項 * コンストラクタの中でcreateImageがnullを返すのはpeerが確定していないからのヨーダ * peerが確定するタイミングは、「コンストラクタが完了した後」、つまり「addNotifyメソッドを呼び出した後」となるヨーダ * * * ■Graphicsを取得するタイミングでぬるぽがでてしまう件について(まだよくわかっていないが) * createBufferStrategy()メソッドがエラーを吐かないパターンのやつ * あやしいBufferStrategyを生成してしまい、 * getBufferStrategy()メソッドはもちろんnullを返さないので、 * getDrawGraphics()メソッドを呼んでみるが、そこでエラーがでる、というものである * * エラーの例2) * Exception in thread "main" java.lang.NullPointerException * at java.awt.Component$BltBufferStrategy.revalidate(Component.java 4428) * at java.awt.Component$BltBufferStrategy.revalidate(Component.java 4406) * at java.awt.Component$BltBufferStrategy.getDrawGraphics(Component.java 4326) * at ActiveRenderCanvas.doActiveRendering(Main.java 304) * at Main. init (Main.java 188) * at Main.main(Main.java 98) * * * 例えば * フレームのサイズが確定していない状態でframe.setVisible(true);を実行したあとに * frame.setVisible(true);もframe.pack();も実行しないとエラーになった * * (レイアウト使用時)コンポーネントを追加後frame.pack();が実行できていればエラーはでなかった * * (よくわかっていないですが、) * 可視化する前にcreateBufferStrategyを実行して、 * さらに正しく2回目(super.addNotifyをオーバーライドした対応)が呼び出されたとしても実は失敗しているようで * bufferStrategyはnullではないが内部でおかしなことになってしまっているようだ * * 解決するには?(対策?) * フレームまわりの実装を見直す(レイアウトの設定した場合はpack()に加えて(レイアウト無視の場合も含めて)setVisible()が呼ばれているかどうか) * 立ち上げ時のsetVisibleメソッドについては特に丁重に扱う * revalidateが関連してるっぽいけれど、エラーが出たタイミングでどう対応するのが正解なのかはわかっていまへん、すいまへん * * * ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ */ /* * 余談 * frame.pack()について * * frame.pack();はframeにaddしたコンポーネントの「サイズ」や「レイアウト」を考慮してフレームのサイズを決定してくれるもの * 例) * canvasの推奨サイズを幅200、高さ200 * scrollPaneの推奨サイズを幅200、高さ200 * ウィンドズXPの場合のframeの初期サイズは幅208(4 + 200 + 200 + 4) 高さ234(30 + 200 + 4)になる * * もしframe.setLayout(null);とした場合は * いくらコンポーネントを追加してpack();をしても効果がないので * frameのサイズ設定忘れやコンポーネントのsetBounds忘れに注意 */ /** * GUI生成と窓の可視化を行った後、ゲームループをに入るクラス * * メモ * ■GUI生成のおおまかな流れ(これに限らないが分かりやすさで考えてみた) * * ①各コンポーネント生成とパラメータ設定(Frame Canvas JTextArea JScrollPane などなど) * ※②と重複あり(サイズ設定など) * * ②レイアウト設定と各コンポーネントの配置 * ∟レイアウトを使用する場合(setLayout(new BorderLayout());など) * ②-1 各コンポーネントの推奨サイズ設定 setPreferSizeメソッド * ②-2 add( コンポーネント, "West"); * ②-3 pack(); * ※フレームのサイズはpack();により決定し上書きされるので特に設定しなくてもよい(設定しても問題ないが追加するコンポーネントによって意味が無くなるぽい) * ∟レイアウトを使用しない場合(setLayout(null);) * ②-1 各コンポーネントの座標指定(setLocation)と各コンポーネントのサイズ設定(setSize) * ※座標とサイズを同時設定するにはsetBoundsメソッドが便利 * ※フレームのサイズ設定を必ず行うこと * ②-2 add( コンポーネント); * ②-3 フレームのvalidate();を実行 * ※調べ中 * ※まだ不明瞭な点があるのだが、コンポーネントの重なりをaddした順から手前に表示されるよう更新してくれるようだ * ※重なりがないのであれば、呼ばなくても変わらないと思われる * * ③窓の可視化 * ※最後にもってきたほうが無難っぽい * ※各コンポーネントのサイズ設定をする前にframe.setVisible(true);をやってそのまま・・・ということをしてぬるぽがでたことがあった * ※このメソッドが呼ばれた時点で窓が画面にでてくる * ※フレームのインセッツは可視化しないと値が入らなかったりするので、このタイミングが当たり前っていうのも違う * ※ExtendsFrameで実装したNowLoadingメソッドはメソッド内で可視化、不可視化して遊んでいる * * ここまでGUI関連の処理 * ※実際のところ①、②、③に関しては前後しても問題なく、さらには可視化したあとサイズを変更しても問題なかったりする * ※peer確定問題に対応するために、上記の流れであれば、エラーが探しやすそうというだけである * ※各コンポーネントで設定する値を継承先のコンストラクタなどで設定するのもいいが、(peer確定問題含め)処理順序がごっちゃになると管理が大変な気がするし、悩むところ * * ④ゲームのメインループをスタート * ※ゲームの前準備(オセロの情報などの描画に必要なデータやリスナー登録など)は、メインループに入る前に済ませておけばどこでもよいと思われる * ※リスナー系の登録削除には気をつけないといけない場合がありそうだが、まだ未熟なのでなんともいえまへん * */ public class Main { /** * @param args */ public static void main(String[] args) { new Main(); System.out.println("メインスレッド完"); // ループを抜けることがあればの話 } private Main() { /** * ①各コンポーネント生成とパラメータ設定 * ※今回は全部ローカルでJFrame と Canvas と JTextArea と JScrollPaneなどを生成、パラメータ設定している * ※なので必要に応じてMainのフィールドにもってくるなどして対応する必要がある */ // フレーム ExtendsFrame frame = new ExtendsFrame(); // frame.nowLoading(100); // 危険なお遊びメソッド setVisibleを中で実行しているので、以降の処理に影響を与える可能性がある frame.setTitle("テスト"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // キャンバス ActiveRenderCanvas canvas = new ActiveRenderCanvas(); // テキストエリア JTextArea textArea = new JTextArea(); // サイズの設定に関しては文字列の列数と行数に依存するのであまり気にしない textArea.setFont(new Font("MS ゴシック", Font.BOLD, 12)); // textArea.setLineWrap(true); // とにかく折り返す textArea.setWrapStyleWord(true); // 単語単位で折り返す // スクロールペイン JScrollPane scrollPane = new JScrollPane(textArea); scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); // 垂直のバーは常に出す scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); // 水平のバーは絶対出さない /** * ②レイアウト設定と各コンポーネントの配置(■BorderLayoutバージョン) * */ // canvas.setPreferredSize(new Dimension(200, 200)); // scrollPane.setPreferredSize(new Dimension(200, 200)); // frame.setLayout(new BorderLayout()); // デフォルトがBorderLayoutになるので、あってもなくても関係ない // frame.add(canvas /* , "West" */); // 指定無しで"Center"扱い // frame.add(scrollPane, "East"); // System.out.println("BEFORE:frame.pack();"); // frame.pack(); // System.out.println("AFTER:frame.pack();"); /** * ②レイアウト設定と各コンポーネントの配置(■GridLayoutバージョン) * ※左右で2分する、フレームのサイズ変更に反応して、均等にコンポーネントのサイズを更新してくれる * ※なのでフレームサイズを設定すれば勝手にコンポーネントのサイズも決まる */ frame.setPreferredSize(new Dimension(400, 200)); frame.setLayout(new GridLayout(1, 2)); // 1行×2列 frame.add(canvas); frame.add(scrollPane); System.out.println("BEFORE:frame.pack();"); // frame.pack(); System.out.println("AFTER:frame.pack();"); /** * ②レイアウト設定と各コンポーネントの配置(■座標指定バージョン) * ※setBoundsで場所とサイズを必ず設定(setLocationとsetSizeの組み合わせも同様) * ※重ねることに成功したりしなかったりと不安定 * ※必ず最初のコンポーネントが手前に、あとに追加されたコンポーネントが後ろにいく */ // // パネルを追加してみる実験 // JPanel panel = new JPanel(); // panel.setBackground(new Color(1, 1, 0, 0.3f)); // // 2つ目のキャンバスを追加してみる実験 // ActiveRenderCanvas canvas2 = new ActiveRenderCanvas(); // // ボタンを追加してみる実験 // JButton button = new JButton("ぼたん"); // // // インターナルフレーム // // JInternalFrame internalFrame = new JInternalFrame("インターナルフレーム", true, true, true, true); // // internalFrame.setBounds(0, 0, 200, 100); // // internalFrame.setBackground(Color.ORANGE); // // internalFrame.setVisible(true); // // // デスクトップペイン // // JDesktopPane desktopPane = new JDesktopPane(); // // desktopPane.setBounds(0,0,1000,1000); // // desktopPane.setOpaque(false); // 透明化 // // desktopPane.setBackground(new Color(0,0,0,0)); // // desktopPane.add(internalFrame); // // frame.add(desktopPane); // // 座標、サイズ指定 // frame.setBounds(0, 0, 400, 400); // canvas.setBounds(10, 10, 300, 300); // scrollPane.setBounds(50, 50, 100, 100); // panel.setBounds(250, 50, 400, 400); // canvas2.setBounds(200, 200, 300, 300); // button.setBounds(0, 200, 100, 100); // frame.setLayout(null); // frame.add(canvas2); // 手前に配置 // frame.add(scrollPane); // frame.add(button); // frame.add(panel); // frame.add(canvas); // 奥に配置 /* * このタイミングでcreateBufferStrategyを実行してみる実験 * キャンバスのバッファストラテジーを生成しようとするのだが * もしこの時点で、「frame.setVisible(true);」が実行されていない、 * またはレイアウト指定しておいて「frame.pack();」を実行していない、などでエラーを吐く */ { try { canvas.createBufferStrategy(3); } catch (Exception e) { System.out.println("エラーポイント①"); System.out.println("[frame.pack();]忘れの可能性"); System.out.println("[frame.add(canvas);]忘れの可能性"); System.out.println("[frame.setVisible(true);]忘れの可能性"); } } /** * ③窓の可視化 * 窓をディスプレイの中心で可視化 */ frame.setLocationRelativeTo(null); System.out.println("BEFORE:frame.setVisible(true);"); frame.setVisible(true); // コメントアウトして動作を確かめる System.out.println("AFTER:frame.setVisible(true);"); /* ここまでがGUIの生成と可視化の処理**************************************************************************** */ /* * ゲームの前準備、初期化 */ init(); /** * ④ゲームのメインループをスタート */ System.out.println("ゲームループスタート"); long calcInterval = 0; char c = \u0041 ; while (true) { // 大体1秒間隔で処理したい if ((calcInterval += 1000 / fps) = 1000) { calcInterval = 0; // デバッグプリント // System.out.println("フレーム " + frame.getInsets() + " " + frame.getSize()); // System.out.println("キャンバス 幅:" + canvas.getWidth() + " 高さ:" + canvas.getHeight()); // textArea.append("フレーム " + frame.getInsets() + " " + frame.getSize() + crlf); // textArea.append("キャンバス 幅:" + canvas.getWidth() + " 高さ:" + canvas.getHeight() + crlf); textArea.append(Character.toString(c++) + crlf); /* * パネルグラフィックス実験 */ // Graphics g = panel.getGraphics(); // if (g != null) { // g.setColor(new Color((float) Math.random(), (float) Math.random(), (float) Math.random(), 0.9f)); // g.drawString("パネル", 10, 30); // g.dispose(); // } } /* * BufferStrategyとgetGraphics()の併用はどうなる実験 */ //Graphics g = canvas.getGraphics(); //g.setColor(Color.CYAN); //g.fillOval(50, 50, 100, 100); //g.dispose(); /* * 描画(各自がもってるバッファストラテジーを使ってる) */ frame.draw(Color.WHITE); // ちらついてしまう原因 canvas.draw(Color.BLACK); // canvas2.draw(Color.PINK); // 高速でまわってしまうし、他のスレッドに迷惑をかける可能性があるので本スレッドを一時休止 fpsKeeper.sleep(); // try { // Thread.sleep(1000 / 30); // FPS30に設定 // } catch (InterruptedException e) { // e.printStackTrace(); // } } } FPSKeeper fpsKeeper; int fps; final String crlf = System.getProperty("line.separator"); // 改行コード private void init() { fps = 60; fpsKeeper = new FPSKeeper(fps); // FPSを60(ぐらいになるよう)に設定 } /********************************************************************************************************************** * 以下、インナークラスの定義 **********************************************************************************************************************/ /** * アクティブレンダリングを実装したCanvas */ class ActiveRenderCanvas extends Canvas { BufferStrategy bufferStrategy; /** * peer確定後、バッファストラテジー生成と参照コピーを実行するようにオーバーライド * bufferStrategyがぬるぽエラーを回避できる! */ @Override public void addNotify() { super.addNotify(); // ☆ここでpeer確定 System.out.println(this.getName() + "のpeer確定"); /* * キャンバスのバッファストラテジーを生成 */ try { createBufferStrategy(3); bufferStrategy = getBufferStrategy(); // ループで使用するために参照を保持しておく } catch (Exception e) { System.err.println("エラーポイント③"); // もしここでエラーがでるというのであれば、わたしはお手あげですw System.err.println(this.getName() + "のバッファストラテジー生成に失敗"); } System.out.println(this.getName() + "のバッファストラテジー生成に成功"); } /** * ゴリゴリ描画するゲームループ内で呼び出すメソッド * bufferStrategyがnullまたは、Graphicsが取得できないなどのエラーに対応すれば、とまったりはしない * 具体的な描画処理は別の関数にまとめた */ public void draw(Color color) { /* * 一応ぬるぽ対応することでエラーでとまることはなくなるが、 * 可視化されなければ、ずっとnullかも */ if (bufferStrategy == null) { System.err.println("bufferStrategyがぬるぽ"); try { createBufferStrategy(3); bufferStrategy = getBufferStrategy(); } catch (Exception e) { System.err.println("エラーポイント②"); System.err.println("[frame.pack();]忘れの可能性"); System.err.println("[frame.add(canvas);]忘れの可能性"); System.err.println("[frame.setVisible(true);]忘れの可能性"); } return; } /* * 謎エラーポイント * サイズ設定、レイアウト設定、可視化タイミングを疑う */ Graphics2D g = (Graphics2D) bufferStrategy.getDrawGraphics(); // Graphicsをゲット! if (!bufferStrategy.contentsLost()) { // フルスクリーン化したときになにかをロストするらしいのでその対策 /* * g を使って描画処理 */ draw(g, color); bufferStrategy.show(); g.dispose(); } } /** * 具体的な描画 * 描画に必要なデータをここで参照できるようにクラス設計しなおす必要がある * * @param g * @param color */ private void draw(Graphics2D g, Color color) { // キャンバスのサイズで塗りつぶし g.setColor(new Color(1, 1, 1, 0.1f)); g.fillRect(0, 0, getWidth(), getHeight()); // 左上 g.setColor(Color.RED); g.fillRect(0, 0, 10, 10); // 右下 g.setColor(Color.GREEN); g.fillRect(getWidth() - 10, getHeight() - 10, 10, 10); // ランダム円描画 g.setColor(color); g.fillOval((int) (Math.random() * getWidth()), (int) (Math.random() * getHeight()), 20, 20); // canvasの枠を黒で描画 g.setColor(Color.BLACK); g.setStroke(new BasicStroke(5.0f)); g.drawRect(0, 0, getWidth(), getHeight()); g.setStroke(new BasicStroke()); // FPS描画 g.setColor(Color.BLACK); g.drawString("FPS " + fpsKeeper.getFPS(), 4, 20); } } /** * アクティブレンダリング機能搭載JFrame */ class ExtendsFrame extends JFrame { private BufferStrategy bufferStrategy; @Override public void addNotify() { super.addNotify(); System.out.println(this.getName() + "のpeer確定"); try { createBufferStrategy(3); bufferStrategy = getBufferStrategy(); } catch (Exception e) { System.err.println("エラーポイント③"); // もしここでエラーがでるというのであれば、お手あげですw System.err.println(this.getName() + "のバッファストラテジー生成に失敗"); } System.out.println(this.getName() + "のバッファストラテジー生成に成功"); } public void draw(Color color) { if (bufferStrategy == null) { System.err.print("bufferStrategyがぬるぽ"); return; } Graphics2D g = (Graphics2D) bufferStrategy.getDrawGraphics(); // Graphicsをゲット! if (!bufferStrategy.contentsLost()) { draw(g, color); bufferStrategy.show(); g.dispose(); } } private void draw(Graphics2D g, Color color) { // キャンバスのサイズで塗りつぶし g.setColor(new Color(0, 0, 0, 0.1f)); g.fillRect(0, 0, getWidth(), getHeight()); // 左上 g.setColor(Color.RED); g.fillRect(0, 0, 10, 10); // 右下 g.setColor(Color.GREEN); g.fillRect(getWidth() - 10, getHeight() - 10, 10, 10); // ランダム円描画 g.setColor(color); g.fillOval((int) (Math.random() * getWidth()), (int) (Math.random() * getHeight()), 20, 20); // canvasの枠を黒で描画 g.setColor(Color.WHITE); g.setStroke(new BasicStroke(5.0f)); g.drawRect(0, 0, getWidth(), getHeight()); g.setStroke(new BasicStroke()); // FPS描画 g.setColor(Color.WHITE); g.drawString("FPS " + fpsKeeper.getFPS(), 4, getHeight() - 14); } /** * プログレスバー思いつきでつくってみた * とはいっても時間を浪費するだけのメソッド * ※例外処理はまったく実装していない * * @param count */ void nowLoading(float count) { final Dimension progressBar = new Dimension(200, 50); setSize(progressBar); setLocationRelativeTo(null); setVisible(true); Graphics g = getGraphics(); for (int loopCount = 1; loopCount = count; loopCount++) { final int percentage = (int) ((progressBar.width / count) * loopCount); String period = ""; for (int i = 0; i percentage / 10 % 3; i++) period = period + "."; setTitle("NowLoading" + period); g.setColor(new Color(0.5f, 0, 0, 0.1F)); g.fillRect(0, 0, percentage, getHeight()); try { Thread.sleep(10); } catch (InterruptedException e1) { e1.printStackTrace(); } } setTitle("Completed!"); g.setColor(Color.GREEN); g.fillRect(0, 0, getWidth(), getHeight()); try { Thread.sleep(300); } catch (InterruptedException e1) { e1.printStackTrace(); } g.dispose(); setVisible(false); } } } /** * おまけ * Javaでゲーム作りますが何か? * http //d.hatena.ne.jp/aidiary/20070429/1251463673 のパクリです */ class FPSKeeper { // 期待するFPS(1秒間に描画するフレーム数) private int FPS; // ★値を変えてみよう // 1フレームで使える持ち時間 private long PERIOD = (long) (1.0 / FPS * 1000000000); // 単位 ns // FPSを計算する間隔(1s = 10^9ns) private static long MAX_STATS_INTERVAL = 1000000000L; // 単位 ns // FPS計算用 private long calcInterval = 0L; // in ns private long prevCalcTime; // フレーム数 private long frameCount = 0; // 実際のFPS private double actualFPS = 0.0; private DecimalFormat df = new DecimalFormat("0.0"); private long beforeTime, afterTime, timeDiff, sleepTime; private long overSleepTime = 0L; private int noDelays = 0; public FPSKeeper() { this(60); } public FPSKeeper(int FPS) { prevCalcTime = beforeTime = System.nanoTime(); setFPS(FPS); } /** * 途中でFPSを変更したい際に呼ぶ * * @param fps */ public void setFPS(int fps) { FPS = fps; PERIOD = (long) (1.0 / FPS * 1000000000); // 単位 ns } /** * FPSを00.0の形の文字列で返す * * @return */ public String getFPS() { return df.format(actualFPS); } /** * 設定した(デフォルトは60)FPSの値になるようにスレッドのsleep時間を制御する */ public void sleep() { getSleepTime(); if (sleepTime 0) { /* * 休止時間がとれる場合 */ try { Thread.sleep(sleepTime / 1000000L); // nano- ms } catch (InterruptedException e) { e.printStackTrace(); } } notifyOverSleepTimeAndCalcFPS(); // sleep()の誤差を通知 ※getSleepTime()に反映させる必要があるため } private long getSleepTime() { afterTime = System.nanoTime(); timeDiff = afterTime - beforeTime; // 前回のフレームの休止時間誤差も引いておく sleepTime = (PERIOD - timeDiff) - overSleepTime; return sleepTime; } private void notifyOverSleepTimeAndCalcFPS() { if (sleepTime 0) { overSleepTime = (System.nanoTime() - afterTime) - sleepTime; } else { // 状態更新・レンダリングで時間を使い切ってしまい休止時間がとれない場合 overSleepTime = 0L; // 休止なしが16回以上続いたら if (++noDelays = 16) { Thread.yield(); // 他のスレッドを強制実行 noDelays = 0; } } beforeTime = System.nanoTime(); // FPSを計算 calcFPS(); } /** * FPSの計算 */ private void calcFPS() { frameCount++; calcInterval += PERIOD; // 1秒おきにFPSを再計算するようにする if (calcInterval = MAX_STATS_INTERVAL) { long timeNow = System.nanoTime(); // 実際の経過時間を測定 long realElapsedTime = timeNow - prevCalcTime; // 単位 ns // 実際のFPSを計算 // realElapsedTimeの単位はnsなのでsに変換する actualFPS = ((double) frameCount / realElapsedTime) * 1000000000L; frameCount = 0L; calcInterval = 0L; prevCalcTime = timeNow; } } }
https://w.atwiki.jp/docomoprosh04a/pages/23.html
microSD/microSDHC対応。 最大16GBのmicroSDHCに対応する。 両者の違いは容量。 microSDは規格上2GBまで。 microSDHCは規格上32GBまで。 現時点では16GBまでしか販売されていない(09/02/06現在)。 まだ高いのでそれほど使わない人は4GB/8GB程度でも十分。 SunDisk/東芝製がお勧めとされる。
https://w.atwiki.jp/willcomd4/pages/15.html
D4はmicroSD/microSDHCスロットを持っています。2008年9月時点で最大容量のmicroSDHCは8GB。問題なく動作しています。 Readyboostにも対応しているので、できるだけ大容量のものを使ったほうがいいかもしれません。 おすすめはサンディスク、東芝、パナソニック製。この3社のものであれば、動かない方が問題があります。 特にこの8GBのmicroSDHCはCLASS4でありながら、異常な速度があっておすすめです。
https://w.atwiki.jp/wiki6_680/pages/52.html
SECRET WING 「ファントム無頼」を題材にしたショートショートの羅列です。 ほぼ女性向けの内容となります。 あと、あらゆる描写及び表現はフィクションです。念のため。 丁度書いていたのは2004年末から2007年初頭にかけて。楽しかったなぁ。 賛否両論あるかとは思いますが、神×栗←伊達 な嗜好の方には楽しんでもらえるかと思います。色々倫理上ダメそうなのは省いた(念のため)。 自衛隊マニアには楽しめませんよ(念のため)。 二世問題 Lock on, Fire! Winter Comes Around...? Because I Love You...... I d Start a Fire Love the Island... THE RECON FRIGHT They Say All s fair in love and war. The Begining Place 10 Years Winding Road Misty Night 大掃除 LAT43°N LAT43°N DISTANCE~千歳~ DISTANCE~百里~ DISTANCE~百里2~ DISTANCE~千歳~2 A Wet Nightmare His Phantom 平行回路 One Night Stand ISOSCELES TRIANGLE Take a Look at Me Now THE DESTINY そこにあった運命 運命の予感 運命と呼ぶには 運命の糸車 You are my destiny. (完結) 冬物語 One Night Celebration 桜花思惟 携帯電話 Close to You -Sensual Satisfaction- 願い ファントム無頼@A.D.2005 LAST FLIGHT IF YOU WISH 空の王様 再会 ~A Hundred Miles~ CROSSROAD イニシアティブの居場所 勝手にしやがれ DRASTIC BETTER HALF イニシアティブの居場所2 Cross over the Line 1 2 3 4 Secret Base Fragile Eternal 優しい気持ち Pinup Girlのアヤマチ Next Day 朝が来るまで 夏の日 伊達をフィーチャーw、一つにまとめてあります。伊達マニアの方はこちらからどうぞw。 FIRST CONTACT 昔語り 桜の花の咲く頃に・・・ モーニング・ムーン 衝動 -The Winter Moment- 桜の花の咲く頃に・・・2 Missing Destinations 愛のカタチ POWER BALANCE キミの居る場所 今も昔も・・・ 感想とかありましたら、コメント欄にて。 ふざけんな(#゚Д゚)ゴルァ!!てのも真摯に受け止めめますそ…。 年を経るごとに伊達好きになっているのでw伊達フィーチャーとても嬉しいです。伊達っち頑張れ。 -- 桃次 (2012-10-21 20 30 50) はじめして。あの神×栗で伊達もプラスのショートショートが読めるなんて、素敵過ぎます(T▽T) 末永く続けてくださいませ♪ -- めい (2012-10-27 21 57 00) 「はじめまして」だった、すみません(^^;) -- めい (2012-10-27 22 00 46) 名前 コメント