Jitterのデバッグ・表示確認するときに、いちいちjit.pwindowなどを作ってMatrixの中身見てましたが・・・。このMatrix Probeは、ONにしてJitterのグリーンの線の上にマウスを持っていくだけで中身が見られる!!!
Scopeのタグの方ではヒストグラム等も確認可能です。
Max → Debug → Matrix Probe でウインドが出現します。
某試作の開発にどうしても長押しボタンが必要だったのですが、MaxのUIには長押しに対応したtoggleのUIオブジェクト(長押しでON / OFF を切り替え)が無いようだったので、jsuiで実装してみました。
[javascript]
"use_strict";
outlets = 1;
setoutletassist(0,’"OFF":0,"OFF_DOWN":1,"ON":2,"ON_DOWN":3′);
//mgraphics initialize
mgraphics.init( );
mgraphics.relative_coords = 1;
mgraphics.autofill = 0;
//Color
var offColor = [220/256,220/256,220/256,1.0];
var downColor = [0.7,0.7,0.7,1];
var onColor = [.99, .99, .99, 1.];
//State
var state = "OFF";
var states = {"OFF":0,"OFF_DOWN":1,"ON":2,"ON_DOWN":3};
var isSelected = false;
//Task
var tsk = new Task(longPressedHandler,this);
tsk.interval = 1000;
function longPressedHandler()
{
if(arguments.callee.task.iterations > 1)
{
arguments.callee.task.cancel();
isSelected = (isSelected) ? false : true ;
out();
}
}
longPressedHandler.local = 1;
function paint(){
if(states[state] == states["OFF"]){
mgraphics.set_source_rgba(offColor);
}else if(states[state] == states["ON"]){
mgraphics.set_source_rgba(onColor);
}else{
mgraphics.set_source_rgba(downColor);
}
with(mgraphics){
ellipse(-1.0,1.0,2,2);
fill()
stroke();
}
}
paint.local = 1;
function out(){
outlet(0,states[state]);
}
out.local = 1;
//Mouse Event
function onclick(x,y,but,cmd,shift,capslock,option,ctrl)
{
ondrag(x,y,but,cmd,shift,capslock,option,ctrl);
}
onclick.local = 1; //private
function ondrag(x,y,but,cmd,shift,capslock,option,ctrl)
{
if(but == 1){
if(isSelected == true){
state = "ON_DOWN";
}else{
state = "OFF_DOWN";
}
tsk.repeat(2);
}else{
if(isSelected == true){
state = "ON";
}else{
state = "OFF";
}
tsk.cancel();
}
mgraphics.redraw()
out();
}
ondrag.local = 1; //private
[/javascript]
wordpressにコード貼るとインデントや改行が総崩れするのどうにかしたい!WEB系のコーディングをしたことない独学javascriptすぎるので、もうちょっとお作法を勉強したい。あとWordpressレイアウトもう少しまともにしたいんだけど、どうしたらいいものか
[javascript]
"use_strict"
autowatch = 1;
inlets = 1;
autowatch = 1;
var _preValue = null;
function msg_int(value){
msg_float(value);
}
function msg_float(value){
if(_preValue != null){
var outValue = value – _preValue;
outlet(0,outValue);
}
_preValue = value;
}
function clear(){
_preValue = null;
}
[/javascript]
どんどん入力される値と値の差分を取得できます。たとえば速度を計算したりする時に有効です。clearで区切れるのもポイントです。
久しぶりにFlash Builder 4.7起動した所、起動画面でエラーが出てきました。Mac OSX Mavericks だと Java 1.7 がインストールされるようなのですが、FlashBuilder 4.7 はJava 1.6対応との事です。
Flash Builder 4.7 on OSX 10.9 (Mavericks)
自分の環境では、1.6にしても上記エラーがでて起動できなかったため、一旦 FlashBuilderをアンインストールしてインストールしなおしたら起動するようになりました。
jit.gl.lua内で動画テクスチャを扱う場合に、外部からmatrixで受け取り、jit.gl.textureと接続する方法がForumにありました。少しずつOpenGLとjit.gl.luaの使い方が分かってきました。
[javascript]
local gl = require("opengl")
local GL = gl
local tex = jit.new("jit.gl.texture", this.drawto)
function jit_matrix(name)
tex:jit_matrix(name)
end
function draw()
jit.gl.bindtexture(tex.name, 0)
gl.Color(1., 1., 1., 1.)
gl.Begin(GL.QUADS)
–top left
gl.TexCoord(0., 1.)
gl.Vertex(-0.5, 0.5, 0.)
–bottom left
gl.TexCoord(0., 0.)
gl.Vertex(-0.5, -0.5, 0.)
–bottom right
gl.TexCoord(1., 0.)
gl.Vertex(0.5, -0.5, 0.)
–top right
gl.TexCoord(1., 1.)
gl.Vertex(0.5, 0.5, 0.)
gl.End()
gl.PushMatrix()
gl.Translate(1,0,0)
gl.Begin(GL.QUADS)
–top left
gl.TexCoord(0., 1.)
gl.Vertex(-0.5, 0.5, 0.)
–bottom left
gl.TexCoord(0., 0.)
gl.Vertex(-0.5, -0.5, 0.)
–bottom right
gl.TexCoord(1., 0.)
gl.Vertex(0.5, -0.5, 0.)
–top right
gl.TexCoord(1., 1.)
gl.Vertex(0.5, 0.5, 0.)
gl.End()
gl.PopMatrix()
jit.gl.unbindtexture(tex.name, 0)
end
[/javascript]