ページ

2014年10月14日火曜日

Xubuntu - ネットに繋がらない!

昨日突然起きた出来事です。
「アップデートが56件あります」
今までアップデートの度に何かあったので躊躇していましたが、ここまでたまると逆に悪いと思い、慎重に見極めて必要と思われる18件のアップデートをインストールしました。

再起動後も順調に動いて、これは正解だったなと思っていました。
しかし、スタンバイからの復帰が出来ず(この地点でなにか怪しい)電源を強制的に落としたあと事態は急変。

「ネットワークは無効です」

ドライバを入れなおしてもダメ。これはどうしたことかと思って翌日調べてみるとあっさり解決出来ました。
その方法。
ネットワークのアイコンを右クリックして「ネットワークを有効にする」にチェックを入れる。

まだまだ Linux は素人ですね。

2014年9月19日金曜日

フラン!

グラフィグってありますよね。自分は小鳥遊六花のグラフィグで知りました。
あの独特なスタイル、ノリを使わない作り方はすごい。是非とも自分で作ってみたい(!?)。

ではでは、張り切ってフランドール・スカーレットを作ってみましょう!
グラフィグはノリを使わないらしいですが、今回はノリを使うペーパークラフトの体でグラフィグ風のものを作ります。

1.下書き
ささっと
 これを元に設計図を書きます。

2.CADで設計図を描く
これが一番時間がかかりました。CADは AR_CAD Light edition です。
羽とかは後で設計

3.出力してバランスを見る
胴がデカイかな。腕も少し調整したほうがよさそう。
一緒に帽子も作ってみました。

4.調整
5.色塗り
GIMPで清書したものを、ペイント(!?)で塗っていきます。

6.完成(図)
 組み立てるとこんな感じになります。

7.組み立ててみた
できたー!

作った後に気づいたのですが、グラフィグのテンプレートがありました。(しかも原作者のNC帝國様から) (知ってる方も多いと思います...)

ペーパークラフトの形式ですが、一応「グラフィグ状の物体」ということで出展を明記しておきます。

この作品はNC帝國さまのグラフィグを基に作られたぺーパークラフトです。
NC帝國:http://www.ncempire.net/
グラフィグ(コスパ):http://graphig.net/

このペーパークラフトは以下のリンクからダウンロードできます
 https://drive.google.com/file/d/0B_GhPqYrMlk9T0RqbWRYYnVwQ3M/edit?usp=sharing
このペーパークラフトの転載を禁止します。 私的利用のみ。

作り方は後日公開する予定です。

2014年9月18日木曜日

お絵かき - 水彩色鉛筆を試してみた

なんと、100均で水彩色鉛筆が売っていました。
では早速試した報告を、

1.原画を用意
パソコンで塗るために画像を修正しています。

2.色鉛筆で塗る
塗りは微妙...

最後にこれを濡れた筆でささっとなぞってあげます。

3.完成!
んー、紙はしわくちゃになるし、水彩になったのかはちょっと分かりづらいです。

やっぱりしっかりした物でも買おうかなぁ

報告終了!

2014年6月6日金曜日

ActiveBasic: Win32API の AddFontResourceEx 等を使えるようにする

ActiveBasicでゲームを作っているとき(with DXライブラリDLL)無料のフォントを組み込みたくなりました、そこでいろいろ調べてみるとここでそのやり方が載っていました。
ところが自分は ActiveBasic を使っているので、AddFontResource 関数が見当たりませんでした。(Ver 4.24.00のリファレンスを検索) どうやら FreeBasic では使えるようなので、そのリファレンスに載っている定義とマイクロソフトの Developer Network のページを参考に ActiveBasic 用に AddFontResource 関数を定義してみました。(表現が変?)

2014年4月27日日曜日

そーなのかー

ちびたみどっとねっと・わーくす の東方project 創作Flash 「そーなのか♪」
これの音源が公開されているわけですが、それを見てふと思いました。
「好き勝手にソロ演奏できるソフトが作れるかもしれない」
 ActiveBasicでぽちぽちと作ってみました。

このソフトの説明としては「適当に演奏して遊べる音のおもちゃ」でしょうか。
詳しくは、ホームページのほうに書いてあります。

説明とダウンロードのページ:

2014年4月5日土曜日

ActiveBasic to C++: メモリ管理

ActiveBasic でも C++ でも(というかもちろん)ヒープ領域のメモリを扱って動的に変数を確保することができます。

今回は要素を2つもつLong型(C++ではint型)の配列を動的に確保して 10 + 20 の計算をします。
ActiveBasic:
#console
Dim p As *Long
p = calloc( SizeOf( Long ) * 2 )
p[0] = 10
p[1] = 20
print p[0] + p[1]
free( p )
End

C++:
#include <iostream>

int* p;

int main(){
 p = new int[2];
 p[0] = 10;
 p[1] = 20 ;
 std::cout << p[0] + p[1] << std::endl;
 delete[] p;
 return 0;
}

実は C++ でも calloc() は使えますが普通使わないそうです。( C++ の各種講座参照 )
そういえば ActiveBasic でも new 演算子がありましたが、あれはクラス専用です。
でも C++ では new で int 型を確保できました。これはなぜかというと、 C++ では基本型(intとか) もクラスのようなオブジェクトとしてて定義されているからなんです。だからこんなこともできます。

#include <iostream>
int* p;
int main(){
 p = new int( 10 + 20 );
 std::cout << p << std::endl;
 delete p;
 return 0;
}

これは int のコンストラクタに 10 + 20 の結果を初期化で代入するように指示したもので、ちゃんと 30 と表示されます。
ここの delete には [] がありませんが、これは配列を確保した時につけるものです。逆に配列を確保したときに [] を忘れると配列を開放できずシステムが不安定になりますのでご注意。

今日はここまで。

2014年3月26日水曜日

ActiveBasic to C++:ActiveBasicのクラスについて考える

ActiveBasicでもクラスを使うことが出来ますが、自分はそれはC++を学ぶ上で邪魔になると思い、わざとパスしてC++の世界に飛びこんだわけですが Visual C++ をインストールした場所が外付けハードディスクで、しかも共用なのであっち行ったりこっち行ったりとなかなか使えず、Linux でやるにも Windows アプリケーションを作るのが非常に困難で(主にDXライブラリを使ったゲーム)、そして何と言っても少し疲れたので、ActiveBasicのクラスでもやってみようかなということでこの記事です。

C++:
//あいさつを登録して、あいさつと、あいさつした回数を表示する
#include <string>
#include <iostream>
using namespace std ;

class greeter {
string greetingword ;
int count ;
public:
greeter( string in ) {
count = 0 ;
greetingword = in ;
}

void greet() {
count ++ ;
cout << string << endl ;
cout << "これは" << count << "回目のあいさつです。" << endl ;
}
};

int main() {
string a ;
greeter* p ;
p = new greeter( "Hello!!" ) ;
while (1) {
cout << "何か入力してEnterを押してください [q]で終わる" << endl ;
cin >> a ;
if (a=="q") break ;
p -> greet() ;
}
delete p ;
return 0 ;
}

ActiveBasic:
#console

class greeter
    private
    greetingword As String
    count As Integer
   
    public
        sub greeter()
            count = 0
            greetingword = ""
        end sub
       
        function addgreeting( in As String )
            greetingword = in
        end function

        sub greet()
            count ++
            print greetingword
            print "これは" & Str$(count) & "回目のあいさつです。"
        end sub
end class

function main() As Integer
    dim a As String
    dim p As *greeter
    p = new greeter()
    p -> addgreeting( "hello!" )
   
    do
        print "何か入力してEnterを押してください。[q]で終了"
        input a
        if a="q" then exit do
       
        p -> greet()
    loop
   
    delete p
    main = 0
end function

dim result As Integer

result = main()

end

なぜかActiveBasicのほうがコーディングに時間がかかった。コンストラクタの中であいさつの文を代入すると結果がおかしくなったので別の関数に移して解決しました。
感想:
もともとの仕様としてクラスが備わっているC++には勝てないね

今回はここまで 

追記) ActiveBasic の方のサンプルプログラムで、クラス定義のときに "private" と書くところを"private:" と書いていましたので修正しました。