Discuss Scratch
- Discussion Forums
- » 日本語
- » 意外と知られていないテクニック集
- popochan7890
-
82 posts
意外と知られていないテクニック集
(2000年からの日数)について。
@greenFlagがクリックされたとき :: events hatを実行してlistを書き出してみると、同一フレーム内に行われた処理にも関わらず、後の処理に対応する値ほど大きく(=時間が後)になっていることがわかる。これは
[all] 番目を [list v] から削除する
(2000年からの日数) を [list v] に追加する
(2000年からの日数) を [list v] に追加する
(2000年からの日数) を [list v] に追加する
︙ // 同じやつをたくさん
(2000年からの日数) を [list v] に追加する
@greenFlagがクリックされたとき :: events hatとして、再描画しない定義の中で行っても同じ結果だった。
[all] 番目を [list v] から削除する
リストに追加 // この定義は再描画しない
定義 リストに追加
(2000年からの日数) を [list v] に追加する
︙ // 同じやつをたくさん
(2000年からの日数) を [list v] に追加する
また、リストに入れられた値は、
8624.600163958334
8624.600163958334
8624.600163958334
8624.600163958334
8624.600163958334
8624.600163958334
8624.600163958334
8624.600163969908
8624.600163969908
8624.600163969908
8624.600163969908
8624.600163969908
8624.600163969908
8624.600163969908
8624.600163969908
8624.600163969908
8624.600163969908
8624.600163969908
8624.600163969908
8624.600163969908
8624.600163969908
8624.600163969908
8624.600163969908
8624.600163969908
8624.600163969908
8624.600163969908
8624.600163981482
8624.600163981482
8624.600163981482
8624.600163981482
8624.600163981482
8624.600163981482
8624.600163981482
8624.600163981482
8624.600163981482
8624.600163981482
8624.600163981482
8624.600163981482
8624.600163981482
8624.600163981482
8624.600163981482
8624.600163993056
8624.600163993056
8624.600163993056
8624.600163993056
8624.600163993056
8624.600163993056
8624.600163993056
8624.600163993056
8624.600163993056
8624.600163993056
8624.600163993056
8624.600163993056
8624.600163993056
8624.600163993056
秒に直すと0.0009999936秒~0.00100008秒になり、2000年からの日数を使う際の最小単位は約0.001秒と分かる。日数なのにやたら細かい。
この仕様を使えば、
[時刻1 v] を ((2000年からの日数) * (1000000000000)) にする // でかくしてるのは、小数だと変数に入らないからで処理にかかる時間を調べられる。
… // かかる時間を調べたい処理
[時刻2 v] を ((2000年からの日数) * (1000000000000)) にする
[処理にかかった秒数 v] を (([切り下げ v] \( (((時刻2) - (時刻1)) / (11574)) \)) / (1000000000)) にする
ちな、1フレームに行われるすべての処理にかかる時間が1/30秒を超えると処理落ちでFPSが下がる(当たり前)。
Last edited by popochan7890 (Aug. 13, 2023 00:53:47)
- kinnniku_pi-mann
-
100+ posts
意外と知られていないテクニック集
うえの投稿で思いだしましたが、「中を見る」や、「プロジェクトページに移動する」ときはプログラムが一時的に止まるので、FPSを調べれば簡単に中を見たり、プロジェクトページに移動したりしたのを検知できる。また、中を見ているときは、プログラムに再描画をOFFにした繰り返すがある定義ブロックがあると、FPSが大きく下がるので、それを使えば、中を見たかどうかわかる。
- popochan7890
-
82 posts
意外と知られていないテクニック集
ソースコードを見ましたが、確かにミリ秒単位でした。というか実測の結果が合っててちょっとびっくり。Scratchをハックするのは色々発見があって面白いですね。
- tomo8er
-
1 post
意外と知られていないテクニック集
⚑ がクリックされたとき
ずっと
タイマーをリセット
end
[ タイマー] > (0) のときストップボタンが押された時になります。
- popochan7890
-
82 posts
意外と知られていないテクニック集
ブロックパレットのカテゴリのアイコンを押すと滑らかにそのカテゴリの先頭までスクロールするが、PCやiPadのスペックが低いとき、ブロックの数が多くなったりしてエディタ画面が重くなるとスクロールに時間がかかる。
こんな時は、移動したいカテゴリ以外のアイコンを押し、スクロール中にすぐに移動したいカテゴリのアイコンを押すと高速でスクロールが完了する。
例えば制御カテゴリに行きたかったら、イベント→制御の順にタターンと(語彙力説明力)押すと速い。
些細なことだがかなりストレスが減る。
こんな時は、移動したいカテゴリ以外のアイコンを押し、スクロール中にすぐに移動したいカテゴリのアイコンを押すと高速でスクロールが完了する。
例えば制御カテゴリに行きたかったら、イベント→制御の順にタターンと(語彙力説明力)押すと速い。
些細なことだがかなりストレスが減る。
- inoking
-
1000+ posts
意外と知られていないテクニック集
そのようなブロックは置けません。(10[ v] を (1(foo) 歩動かす) ずつ変える) 回繰り返す簡単になめらかな動きができます
end
動きを確認してから、正しい内容で投稿をお願いします。
- uppmoonrabbits
-
100+ posts
意外と知られていないテクニック集
((0.1) から (10) までの乱数)など乱数に少数を使うと、
乱数に少数が使われる
ちなみに、
(((((0.1) から (10) までの乱数) * (10)) を四捨五入) / (10))とすると小数第1位までの乱数が発生する。
かける数と割る数を100や1000・・・にすると、小数第2位、小数第3位・・・と発生させることが出来る。
- hanya326
-
100+ posts
意外と知られていないテクニック集
もし <(☁ score) < (score)> なら
(☁ score) を (score) にする
end
世界記録を更新するプログラム
Last edited by hanya326 (Aug. 19, 2023 23:56:31)
- HU_KO
-
4 posts
意外と知られていないテクニック集
リミックスツリーはプロジェクトのリンクの後ろにremixtree/とつけると使えます りみっくすつり一ってどうやって使うの?
- syokaki
-
100+ posts
意外と知られていないテクニック集
アウトってコメントが入ったので一旦削除します。
Last edited by syokaki (Aug. 21, 2023 12:24:37)
- popochan7890
-
82 posts
意外と知られていないテクニック集
定義 処理1条件に当てはまらない場合にリターンする。メリットはネストが深くならないことぐらいかな?
もし <<条件> ではない> なら
… // 条件に当てはまらないときの処理(任意)
[このスクリプト v] を止める
end
… // 処理1の中身
- KRTSD0823
-
100+ posts
意外と知られていないテクニック集
数値に少数を使いたい時、普通に考えて
実際にプロジェクト内で使っている少数点の0を抜きましたが0.9と同じ動作をしています。
普通

0抜き

(0.)・・・ ::greyのように、「0.~」と書きますが、
(.)・・・ ::greyと、0を抜いて「.~」と書いても同じ動作をします。
実際にプロジェクト内で使っている少数点の0を抜きましたが0.9と同じ動作をしています。
普通

0抜き

- hanya326
-
100+ posts
意外と知られていないテクニック集
もし <<(ユーザー名) = [a]> または <(ユーザー名) = [b]>> ならは、
end
[a] を [list v] に追加する
[b] を [list v] に追加する
もし <[list v] に (ユーザー名) が含まれる> なら
end
のように短縮できる
- monaka24
-
10 posts
意外と知られていないテクニック集
「一文字ずつ追加される」吹き出しを使用したい時は、[ 吹き出し] を [] にする
[繰り返し] を [0]にする
([(好きな文章を入れてください)] の長さ) 回繰り返す
[ 繰り返し] を (1)ずつ変える
[ 吹き出し] を ((吹き出し) と ((繰り返し) 番目\( [(好きな文章)] \)の文字)) にする
(吹き出し) と言う
[(好きな音を選んでね)] の音を鳴らす
(0.1) 秒待つ
end
(0.5) 秒待つ
[] と言う
こうするとできると思います。
ブロック定義にする時は、これ↓定義に繋げて、(好きな文章)の部分に、(引数(名前はなんでもOK))引数を埋めます。
まーこんな感じですね。
グチャってなったので送り直しました。(これで3回目(T-T))
一応この説明のプロジェクトのURL貼っておきます。
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/883701102/
Last edited by monaka24 (Aug. 23, 2023 10:19:07)