質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Animate CC

Animate CC(旧Flash Professional)は、アドビシステムズ社のWebアニメーション制作ツールです。描いたグラフィックにタイムラインで動きを付け、スクリプトでインタラクティブな操作を実装。動画や映像作品、インタラクティブコンテンツ、データの可視化に利用できます。

Flash

Flashは、Webページにアニメーション、ビデオ、また対話型のアプリケーションを埋め込むためにAdobe社が提供しているクロスプラットフォームのインターネットマルチメディアランタイムです。

ActionScript 3

ActionScript 3 (AS3)はAdobe FrashとAIRプラットフォームによる、オープンソースかつオブジェクト指向のプログラミング言語です。AS3はRIA、モバイルアプリケーション、デスクトップアプリケーションなど広く使われます。

Q&A

解決済

1回答

1323閲覧

カレンダーアプリ制作で最初の日までカラムをスキップしたい

mmzmmz

総合スコア13

Animate CC

Animate CC(旧Flash Professional)は、アドビシステムズ社のWebアニメーション制作ツールです。描いたグラフィックにタイムラインで動きを付け、スクリプトでインタラクティブな操作を実装。動画や映像作品、インタラクティブコンテンツ、データの可視化に利用できます。

Flash

Flashは、Webページにアニメーション、ビデオ、また対話型のアプリケーションを埋め込むためにAdobe社が提供しているクロスプラットフォームのインターネットマルチメディアランタイムです。

ActionScript 3

ActionScript 3 (AS3)はAdobe FrashとAIRプラットフォームによる、オープンソースかつオブジェクト指向のプログラミング言語です。AS3はRIA、モバイルアプリケーション、デスクトップアプリケーションなど広く使われます。

0グッド

0クリップ

投稿2018/10/08 16:59

animateでカレンダーアプリを制作しており、見よう見まねで作ったのですが

//最初の日までカラムをスキップ
for (var i:int = 1; i <= dayOfWeek; i++) {
col++;
calStr += " ";
};

これを書いたCalendar.asをインポートすると、「未定義のプロパティdayOfWeekへのアクセスです。」とエラーが出ます。

参考書のまま書いたつもりですが、どうしてこうなったか分かりません。
解決法をご存知の方がいらっしゃいましたら、教えてくださると嬉しいです。

package {
public class Calendar{
private var theYear:int; //年
private var theMonth:int; //月

//コンストラクタ public function Calendar(year:uint, month:uint) { theYear = year; theMonth = month; } //カレンダーを戻す public function getCal() :String { var col:int = 1; //カラム var calStr:String; var numOfDays:int = getMonthDays(); var dayOfDays:int = getFirstDay(); var dayStr:String; calStr = " S M Tu W Th F S\n"; //最初の日までカラムをスキップ for (var i:int = 1; i <= dayOfWeek; i++) { col++; calStr += " "; }; //日を順に書き出す for (var day:int = 1; day <= numOfDays; day++) { var aDay;String; if (day >= 10 ) { dayStr = day + " "; } else { dayStr = " " + day + " "; } if (col == 7) { calStr += dayStr + "\n"; col = 1 } else { calStr += dayStr; col++; } } return calStr; } //年と月を設定 public function setYearMonth(year:int, month:int):void { theYear = year; theMonth = month } //年を戻す public function getYear():uint { return theYear; } //月を戻す public function getMonth():uint { return theMonth; } //うるう年かどうか調べる private function isLeapYear(year:int):Boolean { if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) { return true; } else { return false; } } //月の最初の曜日を決める private function getFirstDay():uint { var tmpDate = new Date(theYear, theMonth - 1, 1); return tmpDate.getDay(); } //月の日数を求める private function getMonthDays():uint { var monthDays = new Array (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); if (isLeapYear(theYear)) { monthDays[1] = 29; } return monthDays[theMonth - 1]; } //次の月に進む public function nextMonth():void { var month:int = getMonth(); var year:int = getYear(); if (month == 12) { month = 1; year++; } else { month++; } setYearMonth(year, month); } //前の月に戻る public function prevMonth():void { var month:int = getMonth(); var year:int = getYear(); if (month == 1) { month = 12; year--; } else { month--; } setYearMonth(year, month); } }

}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

下記の行が抜けているのだと思います。

var dayOfWeek:int = getDay();

投稿2018/12/13 03:32

編集2018/12/25 03:25
kasa0

総合スコア578

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問