C#トレーニング2019年10月23日レッスン七のモバイルフォームボックスコントロールブロックは、モーションソリューションを提供しています

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/qq_41617697/article/details/102699054

まず、私の考えは、2つの部分に分かれ達成するために:

1、20平方移動する前に、第一初めてトリガ:最初のボックスの移動と、第一、第二の時間をトリガ第1及び第2のボックスは、移動、第1から第3の時間をトリガ:の第一、第二のようにして、3つのボックスを移動します。
2、すべてが移動し続けている:トリガー後、すべてのボックスがトリガされます。

具体的なコードは次のよう:

	void m_tmr1_Tick( object sender, EventArgs e )
		{
			 // 1、Delay trigger by PositionIndex
			if( m_PositionIndex < m_nObjectNumber ) {
			    for( int i = 0; i <= m_PositionIndex; i++ ) {
			        EventCenter.Move( m_AllObjtctDirectionArray[ i ], i );
			    }
			}

			// 2、All blocks keep moving after trigger
			if( m_PositionIndex > m_nObjectNumber - 1 ) {
			    for( int i = 0; i <= m_nObjectNumber - 1; i++ ) {
			        EventCenter.Move( m_AllObjtctDirectionArray[ i ], i );
			    }
			}
		}

第二に、解決策:実際には、それ自体ではm_PositionIndex、それ自体がフラグがあり、我々は直接、ボックスの動きを制御するためにそれを使用することができますm_PositionIndex小さいですが、それはそうアクションの順序の目的を達成するために、その前にボックスを移動します。

	void m_tmr1_Tick( object sender, EventArgs e )
		{
			for( int i = 0; i <= m_PositionIndex; i++ ) {
				EventCenter.Move( m_AllObjtctDirectionArray[ i ], i );
			}
			if( m_PositionIndex < m_nObjectNumber-1 ) {
				m_PositionIndex++;
			}
		}

おすすめ

転載: blog.csdn.net/qq_41617697/article/details/102699054