尾本(おもてぃ)11_Omoto
垣内11_Kakiuchi
塩尻(もなー)11_Shiojiri
中谷(なち)11_Nakatani
樋口(ひg)11_Higuchi
自分の場所からリンク張ってくれると嬉しいです
更新したら書こう!軽いコメントとかもぜひ!日付入るから分かりやすいかも
なち:今日のまとめ書きました。各自書き換えていってください。漏れてるところも直していただけるとうれしいです。
ひg:感謝。機能の洗い出しのためのサブセク追加。皆書いてー。
もなー:機能の洗い出しざっと書いてみました。こんな感じでいいのかな?訂正あったらよろしく。
もなー:デザインの画像モノクロですがうpしました。下記にある各リンクから飛んでいただけると幸い。
おもてぃ:画像ありがとう!さっそく組み込んでみるよ~。今更ですが、更新履歴作成。あと編集履歴を上に。これの方がどこ更新したか分かりやすいかな?
追記…ひそかにソースコード置きました。
もなー:結局方向としてはハッタリかます(言い方悪いw)感じでいいの?w
なち:はったりかますがあまりわかってない人です←
どこまですることのことをいうのでしょうか?
今日思いついたのが、写真+プリクラ+音みたいなのですが、細かいこと書く前に寝落ちしそうでs(ry
ひg:深く一つのことやって磨くというよりは、
皆の得意なことをうまーく組み合わせたいよね(´◉ω◉`)
なち:はいノ!
プログラミングはおそらくまだ手伝える状態じゃないので、デザインとかキャラクターとかシナリオがあるならシナリオなどの制作ができます!
もなー:えっと…突出してこれが得意ってのがない…あっ、文献とか読むの早いよ!← とりあえずどれも普通の人よりちょっとはできるってレベルなので、全体のバックアップに回る役がいいな…
25日 企画発案
25日〜29日 意見交換
29日・30日 ラテフ制作
31日〜3日 各自制作
4日・5日 合宿
ざっとこんなもん
時間ないのでつめつめですががんばりましょう。
なち:プロセッシングでアニメーションをする場合は、コマ撮りアニメみたいになるんかな。Flashはくみこめん?
ひg:Flashできる環境が自宅PCに整ってないと厳しくない? うちのPCにはFlashつっこむ予定ないから学校じゃないと開発できなくなるです。
なち:将来的には入れる予定なんだが、5.5を待ってる最中。使えるなら無料版入れるよ。どっちにしろ、個人研究の方で使いたいので。
都合上まとめてうpできませんでした。お手数かけますごめんなさい。
女の子 http://bit.ly/mlIq2Y
(以下、上からトップ、ボトム、靴)
ゴスロリ
http://bit.ly/jFeXND
http://bit.ly/iubM90
http://bit.ly/mKUxjj
森ガール
http://bit.ly/jI0im9
http://bit.ly/mooOjk
http://bit.ly/lvb2Ca
ギャル
http://bit.ly/iXVhlZ
http://bit.ly/kUqBwa
http://bit.ly/kp38P4
とりあえず合宿中は置いときます!おいしく調理して下さいw
画像ファイル名は上のデザインに付いてた名前をそのまま使ってます。
ちなみにゼミで話し合った通りの『クリックしたら服を着る』感じになってます。
服の配置は右側が今は空いてますが仕様です。もう一個パーツ増やせるね、これ。
ごめんなさい、べたばりします。あとから変更します。
やらなきゃいけないのは、顔面のパーツを変化させることなんですが
許して下さい。しょぼん。
import ddf.minim.*; import ddf.minim.signals.*; import ddf.minim.analysis.*; import ddf.minim.effects.*;
int sets = 3; //セット数 int parts = 3; //パーツ数 boolean first_setup = false; //位置の初期設定フラグ Minim minim; AudioInput in; AudioPlayer[][] audio = new AudioPlayer[sets][parts]; //audio配列 float time = 0; //タイムコントロール float img_size = 100; //画像の統一サイズ float re_size = 0.75; //画像の縮小率 PImage base; PImage[][] img = new PImage[sets][parts]; //img配列 Img[][] Imgs = new Img[sets][parts]; //Imgオブジェクトを宣言 PImage fnormal;
boolean tops = false; boolean botoms = false;
void setup(){
size(800, 650);
colorMode(HSB, 100);
background(99);
//smooth();
frameRate(60);
for(int i=0; i < sets; i++){
for(int j=0; j < parts; j++){
Imgs[i][j] = new Img();
}
}
minim = new Minim(this); //Minim本体を生成
audio[0][0] = minim.loadFile("gos1.mp3", 2048);
audio[0][1] = minim.loadFile("gos2.mp3", 2048);
audio[0][2] = minim.loadFile("gos3.mp3", 2048);
audio[1][0] = minim.loadFile("mori1.mp3", 2048);
audio[1][1] = minim.loadFile("mori2.mp3", 2048);
audio[1][2] = minim.loadFile("mori3.mp3", 2048);
audio[2][0] = minim.loadFile("gal1.mp3", 2048);
audio[2][1] = minim.loadFile("gal2.mp3", 2048);
audio[2][2] = minim.loadFile("gal3.mp3", 2048);
base = loadImage("bodyonly.png");
fnormal = loadImage("normal.png");
img[0][0] = loadImage("gosutop.png");
img[0][1] = loadImage("gosubotom.png");
img[0][2] = loadImage("gosufoot.png");
img[1][0] = loadImage("moritop.png");
img[1][1] = loadImage("moribotom.png");
img[1][2] = loadImage("morifoot.png");
img[2][0] = loadImage("gyarutop.png");
img[2][1] = loadImage("gyarubotom.png");
img[2][2] = loadImage("gyarufoot.png");
//PImage fbad = loadImage("bad.png");
//PImage fhappy = loadImage("happy.png");
for(int i=0; i < sets; i++){
for(int j=0; j < parts; j++){
audio[i][j].loop();
audio[i][j].mute();
}
}
}
void draw(){
if(first_setup == false) first_setup(); //初期位置整列
fadeOut();
float base_x = base.width * re_size;
float base_y = base.height * re_size;
PImage back = loadImage("background2.png");
image(back,0,0,800,650);
image(base, (width/2) - (base_x / 2), (height/2) - (base_y / 2), base_x, base_y);
image(fnormal, (width/2) - (base_x / 2), (height/2) - (base_y / 2), base_x, base_y);
checkOnMouse(); //画像との接触判定
//描画
for(int i=0; i < sets; i++){
for(int j=0; j < parts; j++){
Imgs[i][j].draw(i, j);
Imgs[i][j].drawCenter(i, j);
Imgs[i][j].music(i, j);
for(int k=0; k < 3; k++){
Imgs[k][0].draw(k, 0);
Imgs[k][0].drawCenter(k, 0);
}
// image(fnormal,0,0);
}
}
}
void mousePressed(){
for(int i=0; i < sets; i++){
for(int j=0; j < parts; j++){
if(Imgs[i][j].OnMouse_f && Imgs[i][j].select_f == false){
if(j == 0){
for(int k=0; k < sets; k++){
Imgs[k][j].select_f = false;
Imgs[k][j].music_f = false;
}
Imgs[i][j].select_f = true;
Imgs[i][j].music_f = true;
}else if(j == 1){
for(int k=0; k < sets; k++){
Imgs[k][j].select_f = false;
Imgs[k][j].music_f = false;
}
Imgs[i][j].select_f = true;
Imgs[i][j].music_f = true;
}else if(j == 2){
for(int k=0; k < sets; k++){
Imgs[k][j].select_f = false;
Imgs[k][j].music_f = false;
}
Imgs[i][j].select_f = true;
Imgs[i][j].music_f = true;
}
}else if(Imgs[i][j].OnMouse_f && Imgs[i][j].select_f == true){
Imgs[i][j].select_f = false;
Imgs[i][j].music_f = false;
}
}
}
}
void mouseReleased(){ }
void checkOnMouse(){
for(int i=0; i < sets; i++){
for(int j=0; j < parts; j++){
if(dist(mouseX, mouseY, Imgs[i][j].x, Imgs[i][j].y) < img_size / 2){
Imgs[i][j].OnMouse_f = true;
}else{
Imgs[i][j].OnMouse_f = false;
}
}
}
}
void fadeOut(){
noStroke(); fill(99, 99); rectMode(CORNER); rect(0, 0, width, height);
}
void first_setup(){
for(int i=0; i < sets; i++){
for(int j=0; j < parts; j++){
if(j == 0){
Imgs[i][j].x = 80;
Imgs[i][j].y = 50 + (i*120) + 20;
}else if(j == 1){
Imgs[i][j].x = 220;
Imgs[i][j].y = 50 + (i*120) + 20;
}else if(j == 2){
Imgs[i][j].x = 570;
Imgs[i][j].y = 50 + (i*120) + 20;
}
}
}
first_setup = true;
}
/*--------------------------------*/
class Img{
float x, y; //位置
boolean OnMouse_f; //マウスのフラグ
boolean OnDrag_f; //ドラッグのフラグ
boolean select_f; //選択フラグ
boolean music_f; //音フラグ
boolean play_f;
Img(){ //コンストラクタ (初期設定)
x = 0;
y = 0;
OnMouse_f = false;
OnDrag_f = false;
select_f = false;
music_f = false;
play_f = false;
}
void draw(int i, int j){
image(img[i][j], x - (img_size / 2), y - (img_size / 2), img_size, img_size);
}
void drawCenter(int i , int j){
float img_x = 150;
float img_y = 150;
if(select_f == true){
if(j == 0){
image(img[i][j],(width/2) - (img_x / 2), (height/2)+10 - img_y, img_x, img_y);
}else if(j == 1){
image(img[i][j],(width/2) - (img_x / 2), (height/2)-30, img_x, img_y);
}else if(j == 2){
image(img[i][j],(width/2) - (img_x / 2), (height/2) + img_y, img_x, img_y);
}
}
}
void music(int i , int j){
if(music_f == true && play_f == false){
audio[i][j].unmute();
play_f = true;
}else if(music_f == false && play_f == true){
audio[i][j].mute();
play_f = false;
}
}
}
/*--------------------------------*/
void stop(){
for(int i=0; i < sets; i++){
for(int j=0; j < parts; j++){
audio[i][j].close();
}
}
minim.stop(); super.stop();
}