2018/07/03(火) [n年前の日記]
#1 [love2d] love2d上でビット演算
love2d上でビット演算する方法が少し分かってきたのでメモ。以下のやり取りが参考になった。
_Lua version - LOVE
以下のソースで動作確認してみたり。環境は Windows10 x64 + love2d 11.1。
_main.lua
_conf.lua
実行の仕方は、任意のフォルダに main.lua と conf.lua を入れて、
_Lua version - LOVE
以下のソースで動作確認してみたり。環境は Windows10 x64 + love2d 11.1。
_main.lua
-- love2d bit operation test bit = require("bit") function love.load() tm = 0 v = 0 end function love.update(dt) tm = tm + dt local st = 0.2 if tm >= st then tm = tm - st v = bit.band(v + 1, 0x0f) end end function love.draw() love.graphics.clear(0, 0.25, 0.5, 1.0) local s = "" for i=0,3 do local msk = bit.lshift(1, i) if bit.band(v, msk) == 0 then s = "0"..s else s = "1"..s end end love.graphics.print(s, 10, 40) end function love.keypressed(key, isrepeat) if key == "escape" then -- ESC to exit love.event.quit() end end
_conf.lua
function love.conf(t) t.window.title = "Bit operation test - love2d" t.window.vsync = true t.window.width = 320 t.window.height = 240 -- t.window.fullscreen = true -- t.window.fullscreentype = "exclusive" end
実行の仕方は、任意のフォルダに main.lua と conf.lua を入れて、
love フォルダ名で、以下の画面が出る。はず。
◎ 少し解説。 :
lua 5.2 以降の場合は、標準ライブラリに bit32 なるものが用意されているそうで。それを使ってビット演算ができる。
love2d 11.1 の場合は、require("bit") とやらで同等の処理ができるようになるらしい。
どんなメソッドがあるのかについては、おそらく以下のページが参考になりそう。
_BitOp - API Functions
_lua-users wiki: Bitwise Operators
よく使いそうなのは、以下だろうか…。
> lua -i Lua 5.3.4 Copyright (C) 1994-2017 Lua.org, PUC-Rio > bit32.band(7, 3) 3 > bit32.bor(1, 4) 5 > bit32.lshift(8, 1) 16 > bit32.rshift(8, 1) 4
love2d 11.1 の場合は、require("bit") とやらで同等の処理ができるようになるらしい。
local bit = require("bit") local a = bit.band(7, 3)
どんなメソッドがあるのかについては、おそらく以下のページが参考になりそう。
_BitOp - API Functions
_lua-users wiki: Bitwise Operators
よく使いそうなのは、以下だろうか…。
- AND : bit.band(x1, x2)
- OR : bit.bor(x1, x2)
- XOR : bit.bxor(x1, x2)
- NOT : bit.bnot(x)
- left shift : bit.lshift(x, n)
- right shift : bit.rshift(x, n)
- left rotate : bit.rol(x, n)
- right rotate : bit.ror(x, n)
[ ツッコむ ]
#2 [pc] Zoner Photo Studio 18 Free を試用してみようと思ったのだけど
Zoner Photo Studio 17 Free と比べて何か変わっているのだろうかと気になって、Zoner Photo Studio 18 Free を試用してみようと思ったのだけど。
インストールして起動してみたら、真っ先に「ユーザアカウントを取得しろや。取得しなければ使わせねえぞ」「メールアドレスを打ち込めや」と表示されて。なんだかゲンナリして、早速アンインストールしてしまった…。
アンインストールするとWebページが開いて、「アンインストールした理由を教えてくれ」と言ってくるのだけど。一応理由を書いて送信ボタンを押してみたら、そこでも「メールアドレスも打ち込めや」と言ってきて。またまたゲンナリして、ブラウザのタブをそのまま閉じてしまったり。
どうしてそんなに、個人情報を収集してやろうと画策するのだろう…。ちゃんと管理できなくて流出騒ぎを起こす企業がこんなにも多いのに…。無用な情報は極力集めないほうが企業にとっても防衛策になると思うんだけどな…。メールアドレスを集めたところで、どうせSPAMメールを送って企業イメージを悪化させるだけでしょ…。
インストールして起動してみたら、真っ先に「ユーザアカウントを取得しろや。取得しなければ使わせねえぞ」「メールアドレスを打ち込めや」と表示されて。なんだかゲンナリして、早速アンインストールしてしまった…。
アンインストールするとWebページが開いて、「アンインストールした理由を教えてくれ」と言ってくるのだけど。一応理由を書いて送信ボタンを押してみたら、そこでも「メールアドレスも打ち込めや」と言ってきて。またまたゲンナリして、ブラウザのタブをそのまま閉じてしまったり。
どうしてそんなに、個人情報を収集してやろうと画策するのだろう…。ちゃんと管理できなくて流出騒ぎを起こす企業がこんなにも多いのに…。無用な情報は極力集めないほうが企業にとっても防衛策になると思うんだけどな…。メールアドレスを集めたところで、どうせSPAMメールを送って企業イメージを悪化させるだけでしょ…。
◎ 画像管理ソフトの差別化は難しい。 :
そもそも、Zoner Photo Studio 17 Free も全く使わないままHDDの肥やしになってたのでアレだけど。このソフトを使わないとこういう作業はできない、てな部分が見つからないし、圧倒的に起動が早いとか、目に見えて軽快とか、そういう感じでも無いし…。
この手の画像管理ソフトって、スマホやデジカメで撮影した大量の写真を管理・整理、というのをメインに据えてるから、どれもこれも似たようなアプリに見えてしまうのだろうか。たしかにそういう用途が一番多いだろうと容易に想像できるけど、そこは皆が同じことを考えるからレッドオーシャンだし、Windows10自体もそういう用途を満たすために標準添付アプリ等が少しずつ改良されちゃってるから、別途専用アプリって必要なのかね、という状況に追い込まれていくわけで。
とはいえ、狭い用途に特化した機能を追加しても…。大半のユーザは「こんな機能要らねえ」と言い出すから、「つけるべきじゃなかったかな」「もっと誰もが欲しがる機能を」と思っちゃうのだろうなと。でも、そこはたぶん違うと思うんだよな…。10人中9人が「要らねえ」と言っても、一人が「それ絶対欲しい」と言い出すなら、独自のポジションを確立できる可能性があるわけで。ていうかソレ、ポメラの姿勢なんだけど。八方美人を目指して誰も使わない製品になるより、ニッチな需要を拾って信者を獲得、みたいな…。
などと思ったりもしたけど、まあ、難しいよな…。
この手の画像管理ソフトって、スマホやデジカメで撮影した大量の写真を管理・整理、というのをメインに据えてるから、どれもこれも似たようなアプリに見えてしまうのだろうか。たしかにそういう用途が一番多いだろうと容易に想像できるけど、そこは皆が同じことを考えるからレッドオーシャンだし、Windows10自体もそういう用途を満たすために標準添付アプリ等が少しずつ改良されちゃってるから、別途専用アプリって必要なのかね、という状況に追い込まれていくわけで。
とはいえ、狭い用途に特化した機能を追加しても…。大半のユーザは「こんな機能要らねえ」と言い出すから、「つけるべきじゃなかったかな」「もっと誰もが欲しがる機能を」と思っちゃうのだろうなと。でも、そこはたぶん違うと思うんだよな…。10人中9人が「要らねえ」と言っても、一人が「それ絶対欲しい」と言い出すなら、独自のポジションを確立できる可能性があるわけで。ていうかソレ、ポメラの姿勢なんだけど。八方美人を目指して誰も使わない製品になるより、ニッチな需要を拾って信者を獲得、みたいな…。
などと思ったりもしたけど、まあ、難しいよな…。
[ ツッコむ ]
以上、1 日分です。