オートモード中にサイドバーを開いたままの状態

82 views
Skip to first unread message

e.zu...@gmail.com

unread,
Mar 6, 2015, 4:11:59 AM3/6/15
to almi...@googlegroups.com
オートモード中にサイドバーを開いたままにするとオートモードは停止してしまいます。
停止するのはいいのですが、オートモードの状態で停止しているようです。

sidebar.htmlのjavascriptでサイドバーの非表示のところで

overlay.transition({
opacity: 0,
duration: 200,
complete: function(){
overlay.hide();
almight.stage.canClick = true;
$(Almight).triggerHandler('hideSidebar');
almight.script.command('[ch text="オートモードです" cond="almight.stage.autoMode == true"]',false);
almight.script.command('[ch text="オートモードじゃない" cond="almight.stage.autoMode == false"]',false);

と下に2行足してみたのですが、停止しているけどオートモード判定でした。

クリックすればゲームは進行するし再度オートモードにもなるので些細な事とは思うのですが
オートモード中には「オートモードです」という画像を出す処理を追加しているので解消できないかと思っています。

もし、何か解消法がありましたらお願いします。

Message has been deleted

Almightサポート yamashita

unread,
Mar 8, 2015, 9:38:04 PM3/8/15
to almi...@googlegroups.com
御連絡ありがとうございます。
Almightサポートの山下です!
>>クリックすればゲームは進行するし再度オートモードにもなるので些細な事とは思うのですが
>>オートモード中には「オートモードです」という画像を出す処理を追加しているので解消できないかと思っています。
解消するというのはサイドバーを開いたらオートモードをキャンセルにしたいということで宜しいでしょうか?
宜しければ、どのような変更を行いたいのか詳細を教えていただければと思います。

e.zu...@gmail.com

unread,
Mar 9, 2015, 2:04:55 AM3/9/15
to almi...@googlegroups.com
返信ありがとうございます。

最初にも書いたように「オートモード中」という画像を表示するのに
condタグでalmight.stage.autoModeを判定して表示しているのですが、
サイドバーをゲーム進行の間開いているとalmight.stage.autoMode == trueのままオートモードが停止してしまうので
「オートモード中」という画像が表示されたままになってしまいます。
ですので、停止するのであればfalseを返せないかと思いまして、、、

よろしくお願いします。

Almightサポート yamashita

unread,
Mar 9, 2015, 2:28:49 AM3/9/15
to almi...@googlegroups.com
ありがとうございます!
それでしたらサイドバー表示する際にalmight.stage.autoMode=falseを追記していただければ、サイドバー表示した際にfalseが返されますのでお試し頂ければと思います。
// サイドバーを表示
                       //↓ここに追記
almight.stage.autoMode=false;
$('.almight-sidebar .activelist').attr('class', 'list');
sidebar.addClass('open').css({
y: 0,
height: '100%'
}).transition({
x: 0,
duration: 300,
easing: 'ease'
});
overlay.css('display', 'block').transition({
opacity: 1,
duration: 200
});
almight.stage.canClick = false;
} else {
// サイドバーを非表示
sidebar.removeClass('open').transition({
x: (width + 20) * -1,
duration: 300,
easing: 'ease'
});

overlay.transition({
opacity: 0,
duration: 200,
complete: function(){
overlay.hide();
almight.stage.canClick = true;
$(Almight).triggerHandler('hideSidebar');
}
});
}

e.zu...@gmail.com

unread,
Mar 10, 2015, 2:42:26 AM3/10/15
to almi...@googlegroups.com
返信有難うございます。
オートモード停止後、falseを返すことを確認しました。

組み込んでみて感じたのですが、これだとサイドバーを開閉するとその都度オートモードが停止してしまうので
色々とクリックする回数が多くなってしまいユーザーから見るとあまりスマートではないかなと思います。
そこでサイドバーを開いてもオートモードが停止しないという処理は出来ないでしょうか?

宜しくお願いします。

Almightサポート yamashita

unread,
Mar 11, 2015, 5:20:45 AM3/11/15
to almi...@googlegroups.com
御連絡ありがとうございます!
>>組み込んでみて感じたのですが、これだとサイドバーを開閉するとその都度オートモードが停止してしまうので
>>色々とクリックする回数が多くなってしまいユーザーから見るとあまりスマートではないかなと思います。
>>そこでサイドバーを開いてもオートモードが停止しないという処理は出来ないでしょうか?
申し訳ございません、弊社としましてはサイドバーを開く際にオ-トモードが停止する挙動に関しては仕様となっていますので、現状この挙動に関して変更の予定はありません。
ですが、製作者様のほうで編集していただくことは可能です。
オートモードを停止させない処理を下記に記載しますのでご参考にしていただければと思います。

// サイドバーを非表示
sidebar.removeClass('open').transition({
x: (width + 20) * -1,
duration: 300,
easing: 'ease'
});
//オートモードがtrueのとき再度オートモードを動かす
if(almight.stage.autoMode ==true) {
almight.stage.autoMode =false;
almight.stage.toggleAutomode(1500, true);
}



といった形でしたらサイドバーを閉じた際に再度オートモードが動くようになります。
ただ、オートモードで再生終了待ちだった音声に関しては強制的にサイドバーを閉じた際に終了しますのでご注意下さい。

お手数お掛けしますがよろしくお願い致しします。

e.zu...@gmail.com

unread,
Mar 12, 2015, 4:08:38 AM3/12/15
to almi...@googlegroups.com
返信有難うございます。

上記のように記述して再度オートモードになるのを確認しました。
やはり音声は強制的に終了してしまうので、最初の箇所を

if(almight.stage.autoMode == true && almight.se[0].playing == false)

といたしました。
これで音声が切れることもなく、サイドバーを閉じた時にオートモードが再開するようになりました。


更に微調整をしたいのですが、
テキストだけで進んでいく部分でオートモードを作動させると音声の時と同様に
強制的に次に進んでしまいます。
テキストを表示している状態を判定出来ればこれも制御できると思うのですが、、、
テキスト表示しているならtrueみたいな判定は出来ないでしょうか?


宜しくお願いします。

e.zu...@gmail.com

unread,
Mar 12, 2015, 5:56:26 AM3/12/15
to almi...@googlegroups.com
almight.jsを見ていたのですが、almight.stage.textAnimating でいいのでしょうか?

ひこうけいろ

unread,
Mar 12, 2015, 6:29:10 AM3/12/15
to almi...@googlegroups.com
>>テキストを表示している状態を判定出来ればこれも制御できると思
>>うのですが、、、
>>テキスト表示しているならtrueみたいな判定は出来ないでしょうか?
>>almight.jsを見ていたのですが、almight.stage.textAnimating でいいのでしょうか?
おそらくalmight.stage.textAnimatingは文字描画中はtrueになるみたいですね!おそらくそれでいけると思いますよ!
それか文字描画中はオートモードをさせたくないのでしたら、文字表示直前と[p]タグがあるマクロに変数を追加して
その変数条件式を記載してオートモードをさせないようにするという方法もアリだと思いますよ!

e.zu...@gmail.com

unread,
Mar 13, 2015, 2:50:37 AM3/13/15
to almi...@googlegroups.com
ひこうけいろ 様

返信有難うございます。
現状のAlmightだとオートモード使用時に音声や文字描画が強制的に進んでしまうので
これで制御してみようと思います。

e.zu...@gmail.com

unread,
Mar 13, 2015, 5:20:40 AM3/13/15
to almi...@googlegroups.com
今回の質問に付随する質問なんですが、
オートモードが終了したら判定する、テキスト表示が終了したら判定する、みたいなことは出来ないでしょうか?


javascriptの知識がなく参考本見ながらやっているのですが、while使えば擬似的に出来るかなと思って
sidebar.htmlのオートモードを以下のようにやってみたらハングしてしまいました(笑)


setAuto: function() {
while ( almight.stage.textAnimating == true){
almight.script.command('[wait time=1000 canskip=false]',false);
}
almight.stage.toggleAutomode(1500, true);
},

宜しくお願いします。

Almightサポート yamashita

unread,
Mar 30, 2015, 4:31:07 AM3/30/15
to almi...@googlegroups.com
お待たせして申し訳ございません。
Almightサポートの山下です!
文字描画が完了するまで、オートモードを待機させるのならば
setAuto: function() {
var hoge=setInterval(function() {
//終了条件
if (almight.stage.textAnimating == false) {
clearInterval(hoge);
almight.stage.toggleAutomode(1500, true);
}
}, 100);


こういった形で記載していただければ、メッセージ表示途中でもalmight.stage.textAnimatingがfalseになるまでは
オートモードは発生しないようになりますのでお試し頂ければと思います。
Reply all
Reply to author
Forward
0 new messages