2018 ソフトウェア設計及び演習用の班Wiki
18::gr11::12
第12回
ノベルモジュール班
- 関数化し、動作確認をし、成功した。
- function kanokoreNovel = {
- ......
- var bgSpace = new Sprite( 1280, 280 );
- bgSpace.x = 0;
- bgSpace.y = 520;
- let core = enchant.Core.instance;
- bgSpace.image = core.assets[IMAGE_GAZOU];
- core.currentScene.addChild( bgSpace );
- // novel.enchant.js のインスタンス生成.
- var novel = new Novel( 50, 540, 1280, 280 );
- novel.setFontSize( 40 );
- novel.setLineHeight( 30 );
- novel.setPadding( 12, 12, 12, 12 );
- novel.setFontFamily( "PixelMplus12" );
- core.currentScene.addChild( novel );
// 選択時のコールバック関数.
- core.selectChoice = function( id, select ) {
- switch ( id ) {
- case 1:
- switch ( select ) {
- case 1:
- point += 2;
- novel.setText( "かの「わーいっ!やった!!じゃあ、放課後校門前集合でっ!」" );
- novel.setPageBreak();
- novel.setText( "「おっけ!わかった! うっはー!勃っちまうぜ〜!!」" );
- novel.setPageBreak(); ::break;
- case 2:
- point += 1;
- novel.setText( "かの「やっぱり、2人きりじゃまずいかな、、、 そうだよね、わかった、また今度にしよう!!」" );
- novel.setPageBreak();
- novel.setText( "俺「おっけ!わかった! うっはー!勃っちまうぜ〜!!」" );
- novel.setPageBreak();
- break;
- case 3:
- point += -1;
- novel.setText("かの「えー、、、急に部屋はなんかあれじゃない、、、?なんか変なん感じになっちゃったね、、、 また今度にしよ!ごめんね」");
- novel.setPageBreak();
- novel.setText("俺「そっか。わかった…」 「うわぁ攻めすぎちった…」");
- novel.setPageBreak();
- break;
- case 4:
- point += -2;
- novel.setText("かの「えー、用事あるのかあ〜、、、 しょうがないね!空いてる時絶対に教えてね!!!」");
- novel.setPageBreak();
- novel.setText("俺「そっか。わかった…」 「うわぁ攻めすぎちった…」");
- novel.setPageBreak();
- break;
- default:
- break;
- }
- novel.setText("k=" + point);
- ......
- ......
- novel.setChoice( 1,
- "「暇だよ!おっけいおっけい!レッツティータイム!」",
- "「え、2人きり!?他の人とも仲良くなりたいし誰か誘おうよ!」",
- "「お金かかるしさ、俺の部屋でおしゃべりでもしようぜ!」",
- "「ん〜、予定があるんだ…ごめんね、また今度行こう」",
- "",
- core.selectChoice );
- // 画面タッチで次へ.
- core.rootScene.ontouchstart = function() {
- novel.next();
- }
- }
- }
- moziを画面表示と統合するときにx,y座標が変わると条件分岐の時選択できなくなるというバグが生じた。novel.enchant.jsのy座標を文字のスタート位置まで加算することでそのバグをなくすことができた。
背景表示、画像表示、ボタン、BGMモジュール班
- 背景表示、画像表示、ボタン作成の関数が完成した。
- Others.Background = {
- function _create(背景画像のパス){
- ......
- }
- function _Color(背景色){
- ......
- }
- function _remove(){
- ......
- }
- return {
- create: _create,
- Color: _Color,
- remove: _remove,
- }
- }
- Others.Image = (function() {
- function _create(IMG, IMG_X, IMG_Y, IMG_WIDTH, IMG_HEIGHT) {
- let image = new Sprite(IMG_WIDTH, IMG_HEIGHT);
- let gamecore = enchant.Core.instance;
- image.image = gamecore.assets[IMG];
- image.x = IMG_X;
- image.y = IMG_Y;
- gamecore.currentScene.addChild(image);
- };
- return {
- create: _create,
- };
- }());
- Others.Button = (function() { //ボタン
- let btn = [];
- let n = 0;
- const button_width = 400;
- const button_height = 200;
- function _create(TEXT, TEXT_SIZE, BUTTON_X, BUTTON_Y, FUNC) { //ボタンを作成 テキスト、テキストサイズ、ボタンのX座標、ボタンのY座標、ボタンが押された時に実行するfunction()
- let gamecore = enchant.Core.instance;
- let button = new Button(TEXT, "dark");
- button.x = BUTTON_X;
- button.y = BUTTON_Y;
- button._style["font-size"] = TEXT_SIZE;
- button.on("touchstart", FUNC);
- btn = button;
- gamecore.currentScene.addChild(btn);
- n++;
- };
- function _remove() { //ボタンを削除
- let gamecore = enchant.Core.instance;
- n--;
- gamecore.currentScene.removeChild(btn);
- };
- return {
- create: _create,
- remove: _remove,
- };
- }());
- BGMはenchant.jsの
- game.assets[音声ファイルのパス].play();
- game.assets[音声ファイルのパス].stop();
- を使うことにした。
最終更新日:2018/07/06 18:24:27