開発環境
- OS X Mavericks - Apple (OS)
- Dart Editor (開発環境)
- Dartium | Dart/ Structured web apps (ブラウザ, Dart VM 用 (Chromium with the Dart VM))
- Safari (ブラウザ, JavaScript 用)
- Dart (プログラミング言語)
Head First JavaScript ―頭とからだで覚えるJavaScriptの基本( Michael Morrison (著), 豊福 剛 (翻訳)、オライリージャパン)の8章(ページの部品をかき集める)、自分で考えてみよう(p.373)をDartで考えてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
自分で考えてみよう(p.373)
コード
sample.dart
import 'dart:html';
void main() {
int i = 0;
int j = 0;
int k = 0;
decision1.onClick.listen((MouseEvent event) {
replaceNodeText('scenetext', 'シーン説明' + ((){
i += 1;
return '$i';
})());
replaceNodeText('decision1', '決定1: ' + ((){
j += 1;
return '$j';
})());
});
decision2.onClick.listen((MouseEvent event) {
replaceNodeText('scenetext', 'シーン説明' + ((){
i += 1;
return '$i';
})());
replaceNodeText('decision2', '決定2: ' + ((){
k += 1;
return '$k';
})());
});
int n = 0;
decisions.forEach((SpanElement span){
n += 1;
span
..onMouseOver.listen((MouseEvent event) =>
span.className = 'decisionhover')
..onMouseOut.listen((MouseEvent event ) =>
span.className = 'decision');
});
}
SpanElement decision1 = querySelector('#decision1');
SpanElement decision2 = querySelector('#decision2');
List<SpanElement> decisions = [decision1, decision2];
void replaceNodeText(String id, String new_text) {
Node node = querySelector('#$id');
Text text_node = new Text(new_text);
while (!node.childNodes.isEmpty) {
node.childNodes.first.remove();
}
node.append(text_node);
}
シーン説明
決定1 決定2
0 コメント:
コメントを投稿