にっき

2007/12/07 19:37:15

あたり判定


むぅ・・・
AddClips で自動生成されたのは JavaScript 必須っぽいのがびみょ〜だったから変更してみたけど・・・
たいとるに urlencode かけても文字化けして表示されちゃうにう(´・ω・`;【みかん
一度 UTF-8 に変換してから urlencode かけないとなのかなぁ?
でもそこまではてんぷれだけで解決できない気がするからとりあえず固定値にう...〆(;xと【みかん
そんなことはおいといて今日もふにふに Lua のお勉強にう☆ヾ(・x・。【みかん



なんだかげ〜む創るときに出てきそうな長方形の交差判定
023-overlap.lua
function overlap(r1,r2)
    return r2.l < r1.r and r2.t < r1.b and r1.l < r2.r and r1.t < r2.b;
end

function rect(left,top,right,bottom)
    return {l = left,t = top,r = right,b = bottom};
end

r1 = rect(0,0,100,100);
r2 = rect(100,0,200,100);
r3 = rect(0,50,100,150);
r4 = rect(50,50,150,150);

print([[r1-r2]],overlap(r1,r2));
print([[r1-r3]],overlap(r1,r3));
print([[r1-r4]],overlap(r1,r4));
print([[r2-r1]],overlap(r2,r1));
print([[r2-r3]],overlap(r2,r3));
print([[r2-r4]],overlap(r2,r4));
print([[r3-r1]],overlap(r3,r1));
print([[r3-r2]],overlap(r3,r2));
print([[r3-r4]],overlap(r3,r4));
print([[r4-r1]],overlap(r4,r1));
print([[r4-r2]],overlap(r4,r2));
print([[r4-r3]],overlap(r4,r3));

判定部分だけ見るとわんらいな〜・・・にう?(´ω`;【みかん
{l = 左の座標,t = 上の座標,r = 右の座標,b = 下の座標}

なかんじの四角い構造体っぽいのを2つぱすすればおっけぃ☆
引数で指定するのはちょ〜めんど〜だからてすとで〜たは決め打ちで☆
実行結果は
>lua5.1.exe 023-overlap.lua
r1-r2   false
r1-r3   true
r1-r4   true
r2-r1   false
r2-r3   false
r2-r4   true
r3-r1   true
r3-r2   false
r3-r4   true
r4-r1   true
r4-r2   true
r4-r3   true

こんなかんじ☆
なんだかとちうで判定がこれでいいのかうにになってきたのはひみつにう(´ω`;【みかん

もひとつついでに2進数の記述
098-bin.lua
function bin(binary)
    local ret = 0;
    local b = 1;
    
    for i = string.len(binary),1,-1 do
        if string.sub(binary,i,i) == [[1]] then
            ret = ret + b;
        end
        b = b * 2;
    end
    
    return ret;
end

print(bin(arg[1]));

まくろ使えないし文字列も『\ddd』で10進しか使えないから関数しかないのかにう?(´・ω・`;【みかん
ついでにびっと操作もできなかったけどこんなかんじかなぁ?
使い方は引数に2進数をふにふに描くだけ☆
>lua5.1.exe 098-bin.lua 01101001
105

>lua5.1.exe 098-bin.lua 110111101101
3565

>lua5.1.exe 098-bin.lua 1111111111111111
65535

でも描きおわってから実は
print(tonumber(arg[1],2));

だけでだいじょ〜ぶな気がしたのはたぶんきっと気のせいにう(つx;【みかん


こめんと

投稿日時:2007-12-7 19:52  更新日時:2007-12-7 19:52
 できたかも?
ってちょっと思いついたのやってみたらできたのかなぁ?(´ω`;【みかん
mb_convert_encoding かけて UTF-8 にしてからさらに urlencode でおっけぃ?
てんぷれえんじんに smarty 使ってるから
{$title|mb_convert_encoding:'UTF-8':'EUC-JP'|urlencode}
こんなかんじで文字化けしなくなったからおっけぃかにう? 〆(・x・。【みかん

こめんとする?



 
投稿された内容の著作権はこめんとの投稿者に帰属するっぽいです☆
また,現在 IE6 以下で Sleipnir,Lunascape,Donut じゃないゆ〜ざえ〜じぇんとからの描き込みを制限してますです☆
該当しちゃうかたはてきとうにゆ〜ざえ〜じぇんとを偽装しちゃってくださいです(´ω`;【みかん
さぶこんてんつ
前月 2024年 4月 翌月
  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
 
       
             
  • あじ あじ
  • ED ED
  • えでん えでん
  • えれふぃ えれふぃ
  • ぐらぶれ ぐらぶれ
  • etc etc
  • にっき にっき

あわせて読みたい

先頭に戻る
めにう 先頭に戻る