最後の旅を始めよう

-黒の英雄譚・零-

MAYA Python どっ基礎講座‗02 『処理の順番』

2023年01月02日 | MAYA_Pyhon...
前項
「MAYA Pythonの構造」はご理解頂けたでしょうか。

頂けた方、素晴らしい!アナタにはプログラマーの素質があります!

良く解らなかったよ…という方もご安心下さい。
どんな素人でも以下の「3つの基礎」さえ押さえれば
プログラムはノープロブレムです。


 1・処理の順番
 2・条件分岐
 3・繰り返し



ちなみにこの3つは、
MAYA Python以外の言語でも共通した基礎となりますので
将来、他のスクリプトを触る事に成っても使える知識です。
覚えておいて損はありません。


ここでは、まず「処理の順番」から解説していきます。
処理の順番を理解する事はプログラムのアルゴリズムを構築する上で
必要不可欠な概念となります。

こんな風にカタカナ言葉を羅列されると
アレルギー反応を起こす人も居るかも知れませんが
実際には誰でも理解出来る簡単な内容ですので今しばらくお付き合い下さい。


それでは、Mayaで以下のコードを走らせてみましょう。

#---------------------------------------------------------------------------------------------------
import maya.cmds as cmds

cmds.window( title ="MyUI", width = 200 )
cmds.columnLayout( adjustableColumn =True )
cmds.button( label ="ボタン A", command ="" )
cmds.button( label ="ボタン B", command ="" )

cmds.button( label ="ボタン Y", command ="" )
cmds.showWindow()

#---------------------------------------------------------------------------------------------------


3つのボタンの付いたUIが生成されれば成功です。




このスクリプトでは
window」コマンドで、ウィンドウを作成
columnLayout」コマンドで、カラム(縦列)のレイアウトを組む様に設定
button」コマンドで、ボタンを作成(複数作る事でボタンが縦に並ぶ)
showWindow」コマンドで、作成したウィンドウを表示させる
という事をしております。


次に"ボタン B"と"ボタン Y"の空いているところに
以下の"ボタン X"の命令を挿入して実行してみます。

cmds.button( label ="ボタン X", command ="" )


すると、今度はBとYの間にXボタンのあるUIが生成されます。



この様に、基本的にプログラムの命令は上から順に実行されます
つまり、プログラムでアルゴリズムを構築する為には
処理を行いたい順番に、上から書いていけば良い訳です。

ね、簡単でしょ?

ちなみに、
この挙動には「逐次処理」「順次処理」「シリアル処理」等の呼び名があります。

逆に、

・条件分岐で別の命令まで飛ばす
・繰り返し処理で同じ命令を複数回実行する

といった、上から順の法則から外れたアルゴリズムを組む事も出来ます。
(むしろ、そちらの方が頭を使うので大変だったりします)
つまり「3つの基礎」とは
アルゴリズムを組み立てる為に必要な知識という訳です。



ちなみに、
このUI、折角ボタンを作ったのなら
それを押した際に、何か命令を実行して欲しくなりますよね。

そんなときは
command =""」フラグの ""内に引数として命令を書けば
ボタンを押した際に実行してくれる様になります。

一例として、
試しにcommand フラグの引数として「ボタン生成コマンド」を入れると
以下の様に「生成ボタン」を押す度にボタンが増えるヘンテコなUIを作れます。

#---------------------------------------------------------------------------------------------------
import maya.cmds as cmds

cmds.window( title ="MyUI", width = 200 )
cmds.columnLayout( adjustableColumn =True )
cmds.button( label ="生成ボタン", command ="cmds.button( label ='Newボタン' )" )
cmds.showWindow()

#---------------------------------------------------------------------------------------------------



次項 → 03_MELのログをPythonに翻訳
前項 → 01_二行で解る、MAYA Pythonの構造
一覧へ

関連-------------------------------------
Python_MAYA機能メモ
Python_MAYA_ちょっとしたツール集
Python_エラーメモ
編集
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする