HTML

HTML入門

HTML

●position relativeにしている要素内にposition absoluteで座標を指定する。親要素の左上が0,0となる。

●float指定したものには、widthを指定する

●block要素(※1)内に2カラムのblock要素を入れたとき、次に続くblock要素が入り込みする時があるのを防ぐには、※1に対してoverflow:hiddenにする。

■3カラム
left/rightがfloatで固定幅。
centerは余りの幅にする場合、
html上、
left right centerの順に書く

■上下のマージンの相殺
上blockのbottomに30px、下blockの上側にmargin50pxとした場合、80pxのマージンがつくわけではなく、
大きい方のマージンになる=>50px

■画像つきリスト
ul liのli内にimgとpで作成
その時回り込みをなくすために、親要素のliに対して、
overflow:hiddenをする。

C++ openFrameworks

位置の計算について|ofZack week1 – 3

前回は、位置の計算をpercentageで指定して計算していたので、
毎時間による位置変化量は、一定でした。

ここに加速・原則のpropertyを追加。

pct…の値を指数(pct^shaper)の形で計算することによって、
加速・減速の表現をつけてみる。

shaper=1:加速・減速なし
shaper>1:加速
shaper<1:減速

ofVec2f myObject::interpolateByPct(float pct, float shaper)
{
  ofVec2f pos;

  // 指数計算を取り入れ移動に加速・減速を取り入れる
  float shapedPct = powf(pct, shaper);

  pos.x = (1.0 – shapedPct) * startPos.x + shapedPct * endPos.x;
  pos.y = (1.0 – shapedPct) * startPos.y + shapedPct * endPos.y;

  return pos;
}

C++ openFrameworks

位置の計算について|ofZack week1 – 2

スタート位置と到達位置が決まっていて、
ある時間(など)によって、そのオブジェクト位置を割合(percentage)で計算するには、
次の関数を使うようにする。

引数のpctはpercentageの意。
interpolateは、まま補完の意。

ofVec2f myObject::interpolateByPct(float pct)
{
  //startPos, endPosは、オブジェクト初期化時にあらかじめメンバとして与えてある
  ofVec2f pos;
  pos.x = (1.0 - _pct) * startPos.x + (_pct) * endPos.x;
  pos.y = (1.0 - _pct) * startPos.y + (_pct) * endPos.y;
  return pos;
}




openFrameworks

openFrameworks iOS0071でDEPTH_BUFFERを使うメモ

oFでDEPTH_BUFFERを使う場合iOS版では、
windowに対して明示的にDEPTH_BUFFERを有効にしておかなければ、
いけない。

通常のiOS/emptyExampleをコピーしたものでは、
main.hにて、

●main.m

ofAppiPhoneWindow * window = new ofAppiPhoneWindow();
window-enableDepthBuffer();
ofSetuppenGL(window, 1024,768, OF_FULLSCREEN);




の様に、windowに対して、enableDepthBuffer();を呼ぶ。

また、0071のexampleフォルダにあるiosNativeExampleをベースにした
アプリを作成する場合はmain.hに対して上記のコードを追加しても、
ofxiPhoneViewControllerのサブクラス(※1)経由で、
アプリケーションを起動するので、※1ファイル.mmの方で、
windowに対してDepthBufferを有効にする。

- (id) initWithFrame:(CGRect)frame app:(ofBaseApp*)app {
    
    ofxiPhoneGetOFWindow()->setOrientation( OF_ORIENTATION_DEFAULT );

    // この1行を追加する
    ofxiPhoneGetOFWindow()->enableDepthBuffer();

    return self = [super initWithFrame:frame app:app];
}




そして、実際のアプリケーションdraw()の方では、
glEnable(GL_DEPTH_TEST);のみを記述する。

osX版などでは、
glEnable(GL_DEPTH_TEST);とglDisable(GL_DEPTH_TEST);
を対にして書くのが普通?みたいなのだが、
glDisable(GL_DEPTH_TEST);を書くと、iOS版では、うまくいかない場合がある。

書いても上手くいく場合もあるが、3D処理の部分の実装に因るようです。
詳細は、わからないけれどglDisable(GL_DEPTH_TEST);を書くか書かないかは、
上手くいくかどうかで判断しています。

git

gitHubをターミナルから使う(3)

これまでは、自分のみの作業のお話でした。
ですが複数人で作業を行う場合、共通のリモートリポジトリへそれぞれファイルを
pushして行く事になります。

1.pullコマンド
他人がpushしたものを自分のローカルリポジトリへ反映する場合は、
git pull origin master

とコマンドを打ちます。
少々この辺りでoriginとmasterについて補足。

master:自分のローカルリポジトリ
origin:リモートリポジトリ

前回remoteコマンドでリモートリポジトリを登録しましたが、
リモートリポジトリ名は勝手にoriginとなりました。
このorignという名前は以下の様にして変更する事が出来ます。

git remote rename [現在のリポジトリ名] [変更したいリポジトリ名]

2.difference

pullして他人のコードを自分のローカルリポジトリへ反映しました。
が、何がどう変わったのか?追加されたのか?を確認したいですよね。

これを確認するには、diffコマンドを使います。
さらに直近の変更を確認したいのであれば、
つづけてHEADというポインタを指定します。
git diff HEAD
3. unstage
git addコマンドでファイルをステージングできますが、
これをステージングからおろしたい場合は、
resetコマンドを使用します
git reset