パッチをフルスクリーン化するJavaScriptパッチ:MaxMSP

フルスクリーン化前

フルスクリーン化後

JavaScript in Max の勉強中です。オライリーのサイ本も読んでるんですけど、クラス以外は型指定の無いActionScript3.0だと思えば、ほとんど同じようですね。ネットで見てきたJavaScriptのコードは、$マークのついた文法が多くて、「この言語、なんか読みづらいなぁ」くらいに思っていたのですが、それはjQueryのせいだったようです。

今日は、Patchをフルスクリーン化するJavaScriptパッチのサンプルです。以下のコードをjsパッチをダブルクリックして出てくるエディターに入力します。

これでtoggleをONにすると、パッチがフルスクリーンになります。this.patherで、このjsパッチを呼び出しているパッチオブジェクトへのインスタンスへ参照ができて、パッチオブジェクトで保持しているfullscreenメソッドを呼び出しているという事だと理解しました。

[javascript]

inlets = 1;

function fullscreen(onOff)
{
post("fullscreen:"+onOff);
post();
this.patcher.fullscreen(onOff);
}

[/javascript]

messageの文字数を返すjsパッチ : MaxMSP

Max6にてmessageの文字数を返すパッチが見当たらなかったので、最近勉強しているjsパッチで書いてみました。

jsパッチをダブルクリックして出てくるテキストエディターに以下のプログラムを書きます。

[javascript]

inlets = 1;
outlets = 1;

//symbolメッセージによって呼ばれる関数
function symbol(val)
{

post(val); //引数をMaxWindowに表示
post() //改行

outlet(0,val.length); //val.lengthで文字数取得し、outletの0から出力。
}

[/javascript]

Shape を表示し、背景を透過させる : Starling , AIR for iOS

[actionscript3]
package
{
import flash.display.BitmapData;
import flash.display.Shape;

import starling.display.Image;
import starling.display.Sprite;
import starling.textures.Texture;

public class StarlingShape extends Sprite
{
public function StarlingShape()
{
super();

//Shape作成
var shape:Shape = new Shape();
shape.graphics.beginFill(0xD0D0D0,1);
shape.graphics.drawRoundRect(0,0,100,200,100,200);
shape.graphics.endFill();

//ShapeをBitmapDataに変換
var bitmapData:BitmapData = new BitmapData(shape.width,shape.height,true,0xFFFFFF);
bitmapData.draw(shape);

//Starlingのテクスチャ、イメージ生成
var texture:Texture = Texture.fromBitmapData(bitmapData);
var image:Image = new Image(texture);

//StarlingのDisplaylistに追加
addChild(image);
}
}
}

[/actionscript3]

ADOBE AIRのAIR for iOSの2D向けGPU描画ライブラリのStarlingを使ってアプリを開発しています。StarlingにはShapeのクラスが無いので、ShapeをBitmapData経由でStarlingのTextureを生成する事で描画します。bitmapData生成時に第三引数をtrue,第四引数を0xFFFFFFにしないと、背景が透過されなかったので少しハマりましたのでメモ。

結果

PLA印刷中に土台からズレないようにする : Makerbot Replicator

問題点

PLA印刷では、「土台から印刷物がズレてしまう」という事が多々ありました。Makerbot Replicator は、Replicator2と違ってABSとPLAの両対応なのですが、どちらかというとABSが標準仕様になっていますね。

PLA印刷時は、土台の温度を低温度(40~60度)に設定するようなのですが、印刷中にどうしてもズレてしまいました。ABSのように土台温度を高温度(120~140度)にしてもダメでした。

調査

もしや土台に貼ってあるオレンジ色のカプトンテープが悪いのかな?と思い、Makerbotのサイトで “Printing with PLA“を見てみると

” Blue painter’s tape makes a great surface for printing PLA”

と書いてあります。ブルーペインターズテープってなんだろうと調べてみると、アメリカではよく知られたテープみたいです。しかし、どうやら日本では余り流通していないようです。Amazonや楽天で見つけられませんでした。残念!

解決策

ブルーペインターズテープをよくよく見るとクラフトテープ(紙のガムテープ)に似てるなぁと思いました。そこで家にあったクラフトテープを土台に貼ってみると、見事にPLA印刷がズレなく安定しました!!やった!

 

おまけ

PLA樹脂を使ってミクさん印刷中