スキップしてメイン コンテンツに移動

謹賀新年(`・ω・´)ノ<コトヨロー

あけましておめでとうございます。
今年もよろしくお願いします。
年末年始で 2kg も太ってしまった SakuraCrowd です。(  ´・ω・`  )

ブログ1ヶ月くらいさぼってましたԅ( ˘ω˘ ԅ)<スマヌ
さぼってたというか、前回のブログに続くネタがなかったんです。
なんか、前回が華々し過ぎてつい無駄にプレッシャーをかけていたみたいです。

そもそもブログなんだから、
年齢をとってきてようやくお雑煮のうまさに気づくとか
もらい物のハムは絶対に加熱したほうがおいしいとか
そういうどうでもいいことでもいいと思うんですよね。

そんなこんなで、全世界推定10名くらいの何もかも不明な貴重なファンの皆様のためにお年玉を用意してみました。

お年玉1
あの「ドローン1111」が待望のブラウザゲーム化


ドローン1111は11月11日のポッキー&プリッツの日にちなんで思いついたミニゲームです。
今まではふりーむ!様のサイトからのダウンロード版だけでしたが、
今回、技術の粋を結集させて、モゲラ様のサイトから遊べるように
ブラウザ版をリリースしました。


モゲラさんのサイトにいって
ドローン1111のページにアクセスするだけでゲームができます。
これで、2016年もいろいろと捗りますね!(`・ω・´)


お年玉2
HSP3Dish 向け仮想スライドパッドを作ってみた


スマホ向けのゲームでよく見られる、押したままずらすと
ずらした方向に十字キーのように入力できるインターフェースです。

ブラウザで試したい方は、こちらのScVIrtualSlidePad ブラウザ版を使ってください。

少し長いので、ソースコードは別のページに分けておきました。
SakuraCrowd's BlogSpot: ScVirtualSlidePad.hsp (20160111)

基本的な使い方はソースコードの上のほうにある用例のとおりです。
関数名は少し長いですが、 ScVirtualSlidePad がプレフィックスになって、そのあと Update や Draw, Stick がつく形式です。

最初に、円の移動範囲、遊びの閾値、表示方法を設定します。
その後、メインループなどでマウス情報の更新、スライドパッドの描画、入力値の取得を行います。

円の移動範囲

スライドパッドの円の動く範囲を決めます。
上の動画でいうピンク色の小さな円の移動範囲です。

遊びの閾値

「遊び」と呼ばれる反応しない閾値も決められます。
たった1ドットずれただけで反応すると、誤差で意図しない方向を入力します。
それを防止するため、最初にマウス左ボタンを押した座標からどのくらい離れたら入力とみなすかを指定します。

表示方法

表示するスライドパッドの表示方法は、

  • ユーザの用意した画像を使う方法
  • 円をグラフィックで描画する方法

があります。
上の動画では半透明の画像を使っています。
今回使ったのは、以下の1枚の png 画像です。
読み込んだ画像のバッファIDと使う範囲を矩形で指定します。
SetImageBase で緑色の台座の部分、 SetImagePad でピンク色のパッドの部分を設定します。

円をグラフィックで描画する場合は、色や大きさを指定することができます。
SetCircleBase で台座の部分、SetCirclePad でパッドの部分を設定します。

ループ(マウス情報更新、描画、入力値取得)

設定し終えたら、あとは Update 関数を呼び出して、マウスの状態を更新します。
Draw 関数を呼び出すことで、スライドパッドを状態に応じて描画します。
入力がほしいときは Get や Stick 関数を使います。
Stick 関数は上下左右の方向を HSP 標準の Stick 関数と同じ下位0~3ビットの形式で取得できます。
Get関数は、ずらした量をX軸とY軸ごとに取得できます。

既知の問題

  • ブラウザで行うと、ウィンドウの外にマウスが移動するとマウス左ボタンを押している状態でも離れた状態として処理されます。


ライセンス

このソースコードは利用者自身の責任において、自由に使ってもらってかまいません。
SakuraCrowd という名前を作品紹介の素材元にでもいれてもらえればうれしいですが、
特に表記しなくても問題はありません。
ただし、このソースコードを使って生じたいかなる問題や損失にも筆者 SakuraCrowd は責任を負いません。

近況と抱負

12月は、HSPコンテストで入賞して喜んだ後、ニコニコ動画のインディゲームフェスの申し込み期限が1月3日までだったので、何とかそれまでにもう1作品エントリーしたいと頑張っていましたが、なかなかうまく進みませんでした。
システムもそうですが、画力がないので絵を練習したりしてさらに時間が減ってしまいました。
しかも経験値のためかたが下手なのかぜんぜんレベルアップしてません。
結局今回は、すでに出している2作品にとどめようと思います。

そんな風に思っていたら期限が1月末まで延長されて、年末からまたいろいろと妄想が膨らんできたのですが、現状を見るとちょっと厳しそうです。

今回はすでに「胡桃坂ハロウィンパーティ」と「ドローン1111」をエントリーしているので、今作っている作品は次の機会に向けていつもより時間をかけてみたいと思います。

ただ、時間をかけすぎると収拾がつかなくなってモチベーションが0になってフェードアウトというパターンを幾度もやってきたので、次のニコニコ動画のインディゲームフェス(おそらくGWあたり?)を期限にして頑張りたいと思います。

抱負はあまり書きすぎると後でつらくなりそうなんですが、絵をもっとうまく書けるようになりたい、3Dも勉強したい、ゲーム以外のツールなども作りたい。そんなことを思っています。
今年も一年、豆腐メンタルなりに頑張りますのでよろしくお願いします。

♪ HAPPY (,,・ω・,,) NEW YEAR

#A Happy New Year って書こうとしたけど、この場合は A をつけないのが正しいらしいよ!

コメント

このブログの人気の投稿

QTableView で表を表示してみる

タイトルは駄洒落を狙っているわけではありません。 こんばんわ SakuraCrowd です。 今回は今作っているソフトの経過報告です。 最近のブログのパターンは、 「XXX作ったよ。これがスクリーンショットね。あとこんなこと思ったよ。」 という流れですが、 今日はできていないソフトの部分的な話なので、 いつもよりもプログラムちっくな話になると思います。(´Ծ_Ծ´)メガネノトキハマジメブッテル QTableView は GUIライブラリ Qt のクラスです。 それを Python で使うための PySide というライブラリを使っています。 某表計算ソフト っぽい表の GUI です。 このデータの日付が 09/01 なのでおそらくその日に   QTableView 使うぞ!(`・ω・´) とサンプルデータを作ったのでしょう。 Qt Designer という GUI エディタを使うとポトペタでウィンドウを設計できます。 選択できる GUI の中に QTableView と QTableWidget があります。 どちらも上のような表の GUI です。 QTableWidget は 簡単 に値をいれたりできます。 Qt Designer 上で直接編集 することができるので、 サンプルの表を簡単に作ることができます。 それに対して、 QTableView は Qt Designer 上では値を編集できません。たぶん。 QTableView の強みは MVC の構造 を使えることです。 名前のとおり QTableView は View です。 これにデータを管理している Model オブジェクトを設定して使います。 Model クラスを作る手間がかかりますが、 GUI の細かな操作をしなくても Model に応じた表を表示してくれます。 Model は QAbstractTableModel を 継承 して作ります。 コンストラクタで基底クラスの処理を呼び出し、いくつかの純粋仮想関数をオーバーライドします。 def __init__ ( self , parent= None , *args):

LibreOffice Writer 文書の差分 (WinMerge x TortoiseGit) + 社畜PCの原因と対策

お久しぶりです。皆様におかれましてはお風邪などをひかれてはいませんでしょうか。 春と秋だけあればいいのにヽ(`Д´)ノとつい思ってしまう SakuraCrowd です。 今日はいつものような製作日記ではなく、ちょっとした役立つメモを書きました。 タイトルにもあるとおり、 TortoiseGit への WinMerge の導入の仕方です。 今まではソースコードくらいしか差分で確認しなかったので、 TortoiseGit 標準の Diff ツールで問題なかったのですが、 LibreOffice の Writer が最近自分の中で便利だと話題になっていて、それを差分表示するためにちょっと調べてみました。 #Writer は、文章書いて、ちょっと絵をいれたり表を作るのに便利だと思います。 #リッチテキストのエディタを探していて、これが一番よさそうな気がしたので使ってます。 それとブログを書くときはあまり長く書かないつもりだった、 Win7 PC が社畜PCになってしまった際の原因と対策も後半に書きました。割と有用な情報かもしれませんので、時間がありましたらご覧下さい。 まずは TortoiseGit で Writer の odt ファイルを管理して、差分も普通に表示させる方法です。 WinMerge(+plugin) 導入手順 すでに TortoiseGit はインストールしてある前提ではなします。 1.信頼と実績の窓の杜様から WinMerge 日本語版をダウンロードします。 WinMerge - 窓の杜ライブラリ 私の PC は 64 ビット版なのでそちらを選びました。 2.WinMerge をインストールします。 フォルダを指定し普通にインストールできます。 インストール直前の設定で TortoiseGit をチェックしておくと自動的に TortoiseGit の利用する Diff ツールの設定を置き換えてくれるようです。 これの設定は TortoiseGit の設定の Diff ツールの項目で確認できます。 3.LibreOffice Writer のファイルを読むためのプラグインをダウンロードします。 ぐぐって出てくる英語版のDLサイトは応答がなかったりしましたが、日本語版は大

QWidget の選択時のデザインを CSS で変える方法

ひさびさに書きやすいネタができたので、1ヶ月ぶりくらいに書きます。 ここ1ヶ月の作業内容 タイトルのとおりなのですが、 テーマがいきなりマニアックでとまどったり、 デスチェリー農場の続編はどうしたんだよおおおお! とか新作を楽しみにしている生命が宇宙のどこかにいるかもしれないので あらかじめ書いておくと、 ここ1ヶ月は日記ソフトを作ろうと python + pyside + sqlite の勉強をしていました。 勉強というか、ウィンドウ起動から初めて、 GUI をせっせと作ったり、ファイル保存と復元を作ったりしてます。 Copy & Paste や Redo/Undo など未実装の処理も多くあります。 今回は、タブ遷移とかクリックで選択されたウィジェットの、 背景色が変わるとか、 枠線が出るとか そんな設定を CSS で実現します。 PySide と CSS について PySide は前も Raspberry Pi 2 で使う mount コマンドの GUI ツールで使いました。 Python の GUI フレームワークです。 さすがに HSP ほど簡単にウィンドウを出すことはできませんが、 かなり楽だし、 GUI の種類や機能もかなり充実しています。 ある程度 GUI を作っていて、 こんな露骨なウィンドウだと受けが悪いんじゃないかな と思いました。 なんか今っぽいおしゃれなデザインにしたい。 そんな誘惑にかられて調べていると、 CSS でお手軽にデザインを変更 できることがわかりました。 QWidget 派生のオブジェクトを作る際に、 setStyleSheet(str_css)で css を読み込ませることで簡単に実現できます。 次の例では file.css というファイルに書いた css を QWidget 派生クラスのオブジェクトに読み込ませます。 # css の読み込み with open("file.css","r") as f:     self.setStyleSheet("".join(f.readlines())) いろいろな G