mieki256's diary



2018/07/03(火) [n年前の日記]

#1 [love2d] love2d上でビット演算

love2d上でビット演算する方法が少し分かってきたのでメモ。以下のやり取りが参考になった。

_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 フォルダ名
で、以下の画面が出る。はず。

love2d_bit_op_ss.gif

少し解説。 :

lua 5.2 以降の場合は、標準ライブラリに bit32 なるものが用意されているそうで。それを使ってビット演算ができる。
> 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メールを送って企業イメージを悪化させるだけでしょ…。

画像管理ソフトの差別化は難しい。 :

そもそも、Zoner Photo Studio 17 Free も全く使わないままHDDの肥やしになってたのでアレだけど。このソフトを使わないとこういう作業はできない、てな部分が見つからないし、圧倒的に起動が早いとか、目に見えて軽快とか、そういう感じでも無いし…。

この手の画像管理ソフトって、スマホやデジカメで撮影した大量の写真を管理・整理、というのをメインに据えてるから、どれもこれも似たようなアプリに見えてしまうのだろうか。たしかにそういう用途が一番多いだろうと容易に想像できるけど、そこは皆が同じことを考えるからレッドオーシャンだし、Windows10自体もそういう用途を満たすために標準添付アプリ等が少しずつ改良されちゃってるから、別途専用アプリって必要なのかね、という状況に追い込まれていくわけで。

とはいえ、狭い用途に特化した機能を追加しても…。大半のユーザは「こんな機能要らねえ」と言い出すから、「つけるべきじゃなかったかな」「もっと誰もが欲しがる機能を」と思っちゃうのだろうなと。でも、そこはたぶん違うと思うんだよな…。10人中9人が「要らねえ」と言っても、一人が「それ絶対欲しい」と言い出すなら、独自のポジションを確立できる可能性があるわけで。ていうかソレ、ポメラの姿勢なんだけど。八方美人を目指して誰も使わない製品になるより、ニッチな需要を拾って信者を獲得、みたいな…。

などと思ったりもしたけど、まあ、難しいよな…。

以上、1 日分です。

過去ログ表示

Prev - 2018/07 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project