āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§ āĻāĻŽāĻŋ āĻŽāĻ°āĻŋāĻāĻž āĻāĻāĻāĻŋ āĻā§āĻ āĻā§āĻŽ āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨āĻļā§āĻ˛ āĻāĻŽāĻžāĻ° āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻ
āĻāĻŋāĻā§āĻāĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻ¤ā§ āĻšāĻŦā§. āĻāĻāĻāĻŋ āĻāĻžāĻā§āĻ° āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 24 āĻāĻ¨ā§āĻāĻž āĻ˛ā§āĻā§āĻāĻŋāĻ˛ (āĻāĻŽāĻŋ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻ¸āĻ¨ā§āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻŦāĻž āĻ¸āĻĒā§āĻ¤āĻžāĻšāĻžāĻ¨ā§āĻ¤ā§ āĻāĻžāĻ āĻāĻ°āĻ¤āĻžāĻŽ)āĨ¤ āĻā§āĻŽāĻāĻŋ āĻļā§āĻˇ āĻāĻ°āĻž āĻ
āĻ¨ā§āĻ āĻĻā§āĻ°ā§, āĻ¤āĻŦā§ āĻāĻŽāĻŋ āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻ
āĻāĻŋāĻā§āĻāĻ¤āĻžāĻāĻŋ āĻĢāĻ˛āĻĒā§āĻ°āĻ¸ā§ āĻšāĻŦā§āĨ¤ āĻ¸ā§āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻĨā§āĻā§ āĻā§āĻŽāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŽāĻŋ āĻ¯āĻž āĻļāĻŋāĻā§āĻāĻŋ āĻāĻŦāĻ āĻāĻŋāĻā§ āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖ āĻāĻ°ā§āĻāĻŋ āĻ¤āĻž āĻļā§āĻ¯āĻŧāĻžāĻ° āĻāĻ°āĻŦāĨ¤
Skillbox āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻāĻ°ā§: āĻĻā§āĻ āĻŦāĻāĻ°ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ āĻā§āĻ°ā§āĻ¸
"āĻāĻŽāĻŋ āĻāĻāĻāĻ¨ āĻĒā§āĻ°ā§ āĻāĻ¯āĻŧā§āĻŦ āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ°" .āĻāĻŽāĻ°āĻž āĻŽāĻ¨ā§ āĻāĻ°āĻŋāĻ¯āĻŧā§ āĻĻāĻŋāĻā§āĻāĻŋ: "Habr"-āĻāĻ° āĻ¸āĻāĻ˛ āĻĒāĻžāĻ āĻāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ - "Habr" āĻĒā§āĻ°āĻāĻžāĻ°āĻŽā§āĻ˛āĻ āĻā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¯ā§āĻā§āĻ¨ā§ Skillbox āĻā§āĻ°ā§āĻ¸ā§ āĻ¨āĻĨāĻŋāĻā§āĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ 10 āĻ°ā§āĻŦā§āĻ˛ āĻāĻžāĻĄāĻŧāĨ¤
āĻā§āĻ¨ āĻŽāĻ°āĻŋāĻāĻž?
āĻāĻŽāĻŋ āĻāĻ āĻāĻžāĻˇāĻžāĻāĻŋ āĻŦā§āĻā§ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋ āĻāĻžāĻ°āĻŖ āĻāĻŽāĻŋ āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ āĻ¨ā§āĻ āĻāĻžāĻ˛ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻļā§āĻ¨ā§āĻāĻŋ āĻāĻŦāĻ āĻāĻŽāĻŋ āĻāĻāĻŋāĻā§ āĻā§āĻŽ āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻā§ āĻāĻ°āĻ āĻŦā§āĻļāĻŋ āĻāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻšāĻ¤ā§ āĻĻā§āĻāĻāĻŋāĨ¤ āĻā§āĻŽāĻāĻŋ āĻ˛ā§āĻāĻžāĻ° āĻāĻā§, āĻ°āĻžāĻ¸ā§āĻā§ āĻ¸āĻšāĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻŦāĻŋāĻāĻžāĻļ āĻāĻ°āĻžāĻ° āĻ āĻāĻŋāĻā§āĻāĻ¤āĻž āĻāĻŽāĻžāĻ° āĻā§āĻŦ āĻāĻŽ āĻāĻŋāĻ˛āĨ¤ āĻā§āĻŽāĻāĻŋ āĻ˛ā§āĻāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻŋ āĻāĻŽāĻžāĻā§ āĻ¸ā§āĻŦāĻžāĻ§ā§āĻ¨āĻ¤āĻžāĻ° āĻ āĻ¨ā§āĻā§āĻ¤āĻŋ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻĨā§āĻˇā§āĻ āĻāĻŋāĻ˛āĨ¤
āĻā§āĻ¨ āĻā§āĻ˛āĻž āĻāĻŦāĻ āĻāĻŋ āĻ§āĻ°āĻ¨ā§āĻ° āĻā§āĻ˛āĻž?
āĻā§āĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻŽāĻāĻž! āĻāĻŽāĻŋ āĻāĻžāĻ āĻāĻ°āĻ āĻāĻžāĻ°āĻŖ āĻĨāĻžāĻāĻ¤, āĻāĻŋāĻ¨ā§āĻ¤ā§ "āĻšā§āĻŽ" āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻŋ āĻāĻŽāĻ¨ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻā§āĻ˛āĻŋ āĻŦā§āĻā§ āĻ¨āĻŋāĻ āĻ¯ā§āĻā§āĻ˛āĻŋ āĻāĻŽāĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻāĻžāĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻā§āĻŦ āĻāĻ¨āĻŋāĻˇā§āĻ āĻāĻžāĻŦā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻāĻž āĻāĻŋ āĻā§āĻ˛āĻž? āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻā§āĻ¨āĻŋāĻ¸ āĻ¸āĻŋāĻŽā§āĻ˛ā§āĻāĻ°ā§āĻ° āĻŽāĻ¤ā§ āĻāĻŋāĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻā§āĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ āĻ¯āĻž āĻ¸āĻŋāĻāĻŋ āĻ¸ā§āĻāĻžāĻāĻ˛āĻžāĻāĻ¨, āĻāĻŋāĻĄāĻŧāĻŋāĻ¯āĻŧāĻžāĻāĻžāĻ¨āĻž āĻāĻžāĻāĻā§āĻ¨, āĻĒā§āĻ°āĻŋāĻāĻ¨ āĻāĻ°ā§āĻāĻŋāĻā§āĻā§āĻ āĻāĻŦāĻ āĻā§āĻ¨āĻŋāĻ¸āĻā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°ā§āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻā§āĻ¨āĻŋāĻ¸ āĻāĻāĻžāĻĄā§āĻŽāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧā§āĻā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ˛ā§āĻā§āĻ°āĻž āĻā§āĻ˛āĻ¤ā§ āĻāĻ¸ā§āĨ¤
āĻāĻžāĻ°āĻŋāĻāĻ°āĻŋ āĻĒā§āĻ°āĻļāĻŋāĻā§āĻˇāĻŖ
āĻāĻŽāĻŋ āĻŽāĻ°āĻŋāĻāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻā§āĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻŋ āĻ āĻŋāĻ āĻāĻžāĻ¨āĻ¤āĻžāĻŽ āĻ¨āĻž āĻ¯ā§ āĻāĻāĻŋ āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§ āĻāĻ¤āĻāĻž āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻžāĻ āĻāĻ°āĻŦā§āĨ¤ āĻāĻŽāĻŋ āĻĒāĻŋāĻā§āĻ¸ā§āĻ˛ āĻļā§āĻĄāĻžāĻ° āĻ˛āĻŋāĻāĻ¤ā§ āĻāĻŦāĻ āĻĄā§āĻ°ā§āĻ¯āĻžāĻ-āĻāĻ¨-āĻĄā§āĻ°āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻāĻ¨āĻŋ, āĻ¤āĻžāĻ āĻāĻŽāĻŋ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻā§āĻāĻāĻāĻŋāĻ˛āĻžāĻŽāĨ¤
āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻļā§āĻ¯āĻŧāĻžāĻ° āĻāĻ°āĻž āĻĻāĻ°āĻāĻžāĻ°ā§ āĻ¸āĻŽā§āĻĒāĻĻ āĻā§āĻāĻā§ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ:
āĻāĻŽāĻ°āĻž āĻāĻŋ āĻāĻāĻ¨ā§ āĻā§āĻ˛āĻāĻŋ - āĻā§āĻŽā§āĻ° āĻŦāĻŋāĻāĻžāĻļā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻŽāĻ°āĻŋāĻāĻž āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž;āĻŽāĻ°āĻŋāĻāĻž āĻā§āĻ˛āĻž dev subreddit; āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§ āĻĒāĻŋāĻā§āĻ¸ā§āĻ˛ āĻļāĻŋāĻ˛ā§āĻĒ.
āĻāĻŽāĻŋ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻ°āĻžāĻ¸ā§āĻ āĻā§āĻŽ āĻāĻā§āĻāĻŋāĻ¨ āĻ āĻ¨ā§āĻŦā§āĻˇāĻŖ āĻāĻ°ā§āĻāĻŋ, āĻļā§āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĒāĻŋāĻ¸ā§āĻāĻ¨ āĻāĻŦāĻ ggez āĻŦā§āĻā§ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŽāĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻĻā§āĻāĻž āĻāĻ°ā§āĻāĻŋāĨ¤ āĻļā§āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤, āĻāĻŽāĻŋ ggez āĻŦā§āĻā§ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋ āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻā§āĻ 2D āĻā§āĻŽ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ°āĻ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻŦāĻ˛ā§ āĻŽāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻĒāĻŋāĻ¸ā§āĻāĻ¨ā§āĻ° āĻŽāĻĄā§āĻ˛āĻžāĻ° āĻ¸ā§āĻā§āĻ°āĻžāĻāĻāĻžāĻ° āĻāĻāĻāĻ¨ āĻ¨āĻŦā§āĻ¨ āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ°ā§āĻ° (āĻ āĻĨāĻŦāĻž āĻā§āĻ āĻ¯ā§ āĻĒā§āĻ°āĻĨāĻŽāĻŦāĻžāĻ° āĻ°āĻžāĻ¸ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻā§) āĻāĻ¨ā§āĻ¯ āĻā§āĻŦāĻ āĻāĻāĻŋāĻ˛āĨ¤
āĻā§āĻŽ āĻ¸ā§āĻā§āĻ°āĻžāĻāĻāĻžāĻ°
āĻāĻŽāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻ¸ā§āĻĨāĻžāĻĒāĻ¤ā§āĻ¯ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŋāĻā§ āĻ¸āĻŽāĻ¯āĻŧ āĻāĻžāĻāĻŋāĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻ§āĻžāĻĒ āĻšāĻ˛ "āĻā§āĻŽāĻŋ", āĻŽāĻžāĻ¨ā§āĻˇ āĻāĻŦāĻ āĻā§āĻ¨āĻŋāĻ¸ āĻā§āĻ°ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĨ¤ āĻāĻ¨āĻāĻŖāĻā§ āĻāĻĻāĻžāĻ˛āĻ¤ā§ āĻā§āĻ°āĻžāĻā§āĻ°āĻŋ āĻāĻ°ā§ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧāĨ¤ āĻā§āĻ˛ā§āĻ¯āĻŧāĻžāĻĄāĻŧāĻĻā§āĻ° āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻŽāĻ¨ āĻĻāĻā§āĻˇāĻ¤āĻž āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§ āĻ¯āĻž āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻ¨ā§āĻ¨āĻ¤āĻŋ āĻāĻ°ā§āĨ¤ āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻŽāĻ¨ āĻāĻāĻāĻ¨ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ āĻĨāĻžāĻāĻž āĻāĻāĻŋāĻ¤ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨āĻ¤ā§āĻ¨ āĻ˛ā§āĻ āĻāĻŦāĻ āĻāĻĻāĻžāĻ˛āĻ¤ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻāĻ° āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§ āĻ¨āĻ¯āĻŧāĨ¤
āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻŋāĻ¨ā§āĻ¤āĻž āĻāĻ°ā§, āĻāĻŽāĻŋ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒā§āĻ°ā§āĻāĻŋāĨ¤
āĻā§āĻ˛āĻž āĻ¸ā§āĻˇā§āĻāĻŋ
āĻļā§āĻ°ā§: āĻŦā§āĻ¤ā§āĻ¤ āĻāĻŦāĻ āĻŦāĻŋāĻŽā§āĻ°ā§āĻ¤āĻ¤āĻž
āĻāĻŽāĻŋ ggez āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋ āĻāĻŦāĻ āĻĒāĻ°ā§āĻĻāĻžāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻŦā§āĻ¤ā§āĻ¤ āĻĒā§āĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻŦāĻŋāĻ¸ā§āĻŽāĻ¯āĻŧāĻāĻ°! āĻāĻāĻ¨ āĻāĻŋāĻā§ āĻŦāĻŋāĻŽā§āĻ°ā§āĻ¤āĻ¤āĻž. āĻāĻŽāĻŋ āĻā§āĻŦā§āĻāĻŋāĻ˛āĻžāĻŽ āĻā§āĻŽ āĻ āĻŦāĻā§āĻā§āĻā§āĻ° āĻ§āĻžāĻ°āĻŖāĻž āĻĨā§āĻā§ āĻŦāĻŋāĻŽā§āĻ°ā§āĻ¤ āĻšāĻāĻ¯āĻŧāĻž āĻāĻžāĻ˛ āĻšāĻŦā§āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ āĻŦāĻā§āĻā§āĻ āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ° āĻāĻŦāĻ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻāĻŦāĻļā§āĻ¯āĻ āĻāĻāĻžāĻ¨ā§ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§āĻā§:
// the game object trait
trait GameObject {
fn update(&mut self, _ctx: &mut Context) -> GameResult<()>;
fn draw(&mut self, ctx: &mut Context) -> GameResult<()>;
}
// a specific game object - Circle
struct Circle {
position: Point2,
}
impl Circle {
fn new(position: Point2) -> Circle {
Circle { position }
}
}
impl GameObject for Circle {
fn update(&mut self, _ctx: &mut Context) -> GameResult<()> {
Ok(())
}
fn draw(&mut self, ctx: &mut Context) -> GameResult<()> {
let circle =
graphics::Mesh::new_circle(ctx, graphics::DrawMode::Fill, self.position, 100.0, 2.0)?;
graphics::draw(ctx, &circle, na::Point2::new(0.0, 0.0), 0.0)?;
Ok(())
}
}
āĻā§āĻĄā§āĻ° āĻāĻ āĻā§āĻāĻ°ā§āĻāĻŋ āĻāĻŽāĻžāĻā§ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻ¨ā§āĻĻāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĻāĻŋāĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻ¸āĻŽāĻžāĻ¨ āĻ¸ā§āĻ¨ā§āĻĻāĻ° āĻ˛ā§āĻĒā§ āĻāĻĒāĻĄā§āĻ āĻāĻŦāĻ āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤
mpl event::EventHandler for MainState {
fn update(&mut self, context: &mut Context) -> GameResult<()> {
// Update all objects
for object in self.objects.iter_mut() {
object.update(context)?;
}
Ok(())
}
fn draw(&mut self, context: &mut Context) -> GameResult<()> {
graphics::clear(context);
// Draw all objects
for object in self.objects.iter_mut() {
object.draw(context)?;
}
graphics::present(context);
Ok(())
}
}
main.rs āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻāĻžāĻ°āĻŖ āĻāĻ¤ā§ āĻā§āĻĄā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ˛āĻžāĻāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻŽāĻŋ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻāĻ˛āĻžāĻĻāĻž āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻāĻžāĻ āĻžāĻŽā§āĻāĻŋ āĻ
āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻāĻŋāĻā§āĻāĻž āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻ¯āĻŧ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻāĻāĻŋāĻ° āĻĒāĻ°ā§ āĻāĻāĻŋ āĻĻā§āĻāĻ¤ā§ āĻā§āĻŽāĻ¨ āĻāĻŋāĻ˛:
āĻ¸āĻŽā§āĻĒāĻĻ -> āĻāĻāĻžāĻ¨ā§āĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŽā§āĻĒāĻĻ āĻ°āĻ¯āĻŧā§āĻā§ (āĻāĻŦāĻŋ)
src
- āĻ¸āĻ¤ā§āĻ¤āĻž
â game_object.rs
â āĻ¸āĻžāĻ°ā§āĻā§āĻ˛.āĻāĻ°āĻāĻ¸
â main.rs -> āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ˛ā§āĻĒ
āĻŽāĻžāĻ¨ā§āĻˇ, āĻŽā§āĻā§ āĻāĻŦāĻ āĻāĻŦāĻŋ
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ§āĻžāĻĒ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻā§āĻŽ āĻ āĻŦāĻā§āĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻŦāĻ āĻāĻŦāĻŋ āĻ˛ā§āĻĄ āĻāĻ°āĻžāĨ¤ āĻ¸āĻŦāĻāĻŋāĻā§ 32*32 āĻāĻžāĻāĻ˛āĻ¸ā§āĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤
āĻā§āĻ¨āĻŋāĻ¸ āĻā§āĻ°ā§āĻ
āĻā§āĻ¨āĻŋāĻ¸ āĻā§āĻ°ā§āĻ āĻĻā§āĻāĻ¤ā§ āĻā§āĻŽāĻ¨ āĻ¤āĻž āĻ āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻŽāĻŋ āĻ¸ā§āĻā§āĻ˛āĻŋāĻā§ 4*2 āĻāĻžāĻāĻ˛āĻ¸ āĻĨā§āĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻāĻāĻžāĻŦā§, āĻāĻ āĻāĻāĻžāĻ°ā§āĻ° āĻāĻāĻāĻŋ āĻāĻŋāĻ¤ā§āĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻŦāĻž 8 āĻāĻŋ āĻĒā§āĻĨāĻ āĻāĻžāĻāĻ˛ āĻāĻāĻ¸āĻžāĻĨā§ āĻ°āĻžāĻāĻž āĻ¸āĻŽā§āĻāĻŦ āĻāĻŋāĻ˛āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻŽāĻŋ āĻŦā§āĻāĻ¤ā§ āĻĒā§āĻ°ā§āĻāĻŋāĻ˛āĻžāĻŽ āĻ¯ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĻā§āĻāĻŋ āĻ āĻ¨āĻ¨ā§āĻ¯ āĻāĻžāĻāĻ˛āĻ¸ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨, āĻāĻŦāĻ āĻāĻāĻžāĻ¨ā§ āĻā§āĻ¨āĨ¤
āĻŽā§āĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻĻā§āĻāĻŋ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻžāĻāĻ˛ āĻāĻā§: 1 āĻāĻŦāĻ 2āĨ¤
āĻāĻĻāĻžāĻ˛āĻ¤ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŦāĻŋāĻāĻžāĻā§ āĻāĻžāĻāĻ˛ 1 āĻŦāĻž āĻāĻžāĻāĻ˛ 2 āĻĨāĻžāĻā§āĨ¤ āĻāĻā§āĻ˛āĻŋāĻā§ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ°āĻžāĻāĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻŦāĻž 180 āĻĄāĻŋāĻā§āĻ°āĻŋ āĻāĻ˛ā§āĻāĻžāĻ¨ā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻŽā§āĻ˛āĻŋāĻ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ (āĻ¸āĻŽāĻžāĻŦā§āĻļ) āĻŽā§āĻĄ
āĻāĻŽāĻŋ āĻ¸āĻžāĻāĻ, āĻŽāĻžāĻ¨ā§āĻˇ āĻāĻŦāĻ āĻŽāĻžāĻ¨āĻāĻŋāĻ¤ā§āĻ°ā§āĻ° āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ āĻ āĻ°ā§āĻāĻ¨ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻŽāĻŋ āĻŦā§āĻāĻ¤ā§ āĻĒā§āĻ°ā§āĻāĻŋāĻ˛āĻžāĻŽ āĻ¯ā§ āĻāĻāĻāĻŋ āĻŽā§āĻ˛āĻŋāĻ āĻ¸āĻŽāĻžāĻŦā§āĻļ āĻŽā§āĻĄāĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŋāĻ˛āĨ¤ āĻāĻŽāĻŋ āĻāĻāĻŋ āĻāĻāĻāĻžāĻŦā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĻāĻŋ: āĻŦā§āĻ¤āĻžāĻŽāĻāĻŋ āĻāĻžāĻĒāĻ˛ā§, āĻŦāĻ¸ā§āĻ¤ā§āĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻā§āĻ˛āĻŋāĻāĻāĻŋ āĻāĻāĻŋāĻā§ āĻĒāĻāĻ¨ā§āĻĻāĻ¸āĻ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻā§āĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻŦā§āĻ¤āĻžāĻŽ 1 āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻā§āĻ°ā§āĻ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ āĻāĻŦāĻ āĻŦā§āĻ¤āĻžāĻŽ 2 āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻ¨ āĻā§āĻ˛ā§āĻ¯āĻŧāĻžāĻĄāĻŧ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻ¨āĻ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻž āĻĻāĻ°āĻāĻžāĻ° 1 āĻāĻŦāĻ 2 āĻāĻ° āĻ āĻ°ā§āĻĨ āĻā§, āĻ¤āĻžāĻ āĻā§āĻ¨ āĻŦāĻ¸ā§āĻ¤ā§āĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻāĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻĢā§āĻ°ā§āĻŽ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻāĻāĻž āĻāĻŋ āĻŽāĻ¤ āĻĻā§āĻāĻžāĻ¯āĻŧ.
āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ° āĻāĻŦāĻ āĻ°āĻŋāĻĢā§āĻ¯āĻžāĻā§āĻāĻ°āĻŋāĻ āĻĒā§āĻ°āĻļā§āĻ¨
āĻāĻāĻ¨ āĻāĻŽāĻžāĻ° āĻāĻžāĻā§ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻā§āĻŽā§āĻ° āĻŦāĻ¸ā§āĻ¤ā§ āĻ°āĻ¯āĻŧā§āĻā§: āĻŽāĻžāĻ¨ā§āĻˇ, āĻāĻĻāĻžāĻ˛āĻ¤ āĻāĻŦāĻ āĻŽā§āĻā§āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻĢā§āĻ°ā§āĻŽāĻā§āĻ˛āĻŋ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ āĻŦāĻā§āĻā§āĻ āĻ¸āĻ¤ā§āĻ¤āĻžāĻā§ āĻŦāĻ˛āĻ¤ā§ āĻšāĻŦā§ āĻ¯ā§ āĻŦāĻ¸ā§āĻ¤ā§āĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻā§āĻ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻŽā§āĻĄā§ āĻāĻā§ āĻāĻŋāĻ¨āĻž, āĻŦāĻž āĻāĻāĻāĻŋ āĻĢā§āĻ°ā§āĻŽ āĻ¸āĻšāĻāĻāĻžāĻŦā§ āĻāĻāĻāĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŋāĻ¨āĻžāĨ¤ āĻāĻāĻŋ āĻā§āĻŦ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ āĻ¨āĻ¯āĻŧāĨ¤
āĻāĻŽāĻžāĻ° āĻāĻžāĻā§ āĻŽāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¯ā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¤ā§āĻ¯āĻāĻŋ āĻāĻŽāĻ¨āĻāĻžāĻŦā§ āĻĒā§āĻ¨āĻ°ā§āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻĻāĻ°āĻāĻžāĻ° āĻ¯āĻž āĻāĻŋāĻā§ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°ā§:
- āĻāĻāĻāĻŋ āĻ¸āĻ¤ā§āĻ¤āĻž āĻĨāĻžāĻāĻž āĻ¯āĻž āĻ¨āĻŋāĻā§āĻ āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ° āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻĒāĻĄā§āĻ āĻāĻ°ā§ āĻ¤āĻž āĻāĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻžāĻ°āĻŖ āĻ¸ā§āĻ āĻ¸āĻ¤ā§āĻ¤āĻžāĻāĻŋ "āĻāĻžāĻ¨āĻ¤ā§" āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§ āĻ¨āĻž āĻ¯ā§ āĻāĻāĻŋ āĻā§ āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ° āĻāĻ°āĻŦā§ - āĻāĻāĻāĻŋ āĻāĻŋāĻ¤ā§āĻ° āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻāĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻĢā§āĻ°ā§āĻŽ;
- āĻĒā§āĻĨāĻ āĻ¸āĻ¤ā§āĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻāĻŦāĻ āĻāĻāĻ°āĻŖ āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻā§āĻ˛ā§āĻ° āĻ āĻāĻžāĻŦ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, is_build_mode āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋ āĻŦāĻž āĻāĻāĻ°āĻŖ āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ)āĨ¤ āĻāĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦ āĻšāĻŦā§, āĻ¯āĻĻāĻŋāĻ āĻŽāĻ°āĻŋāĻāĻžāĻ¯āĻŧ āĻāĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻā§āĻ¨ āĻ¸āĻ āĻŋāĻ āĻāĻĒāĻžāĻ¯āĻŧ āĻ¨ā§āĻāĨ¤ āĻāĻŽāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŋāĻ˛ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸;
- āĻ˛ā§āĻā§āĻĻā§āĻ° āĻāĻĻāĻžāĻ˛āĻ¤ā§ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ¤ā§āĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŽāĻŋāĻĨāĻ¸ā§āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻšāĻžāĻ¤āĻŋāĻ¯āĻŧāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŋāĻ˛;
- āĻ¸āĻ¤ā§āĻ¤āĻžāĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻā§āĻ āĻĄā§āĻāĻž āĻāĻŦāĻ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ° āĻŽāĻŋāĻļā§āĻ°āĻŖ āĻāĻŋāĻ˛ āĻ¯āĻž āĻĻā§āĻ°ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖā§āĻ° āĻŦāĻžāĻāĻ°ā§ āĻāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤
āĻāĻŽāĻŋ āĻāĻ°āĻ āĻāĻŋāĻā§ āĻāĻŦā§āĻˇāĻŖāĻž āĻāĻ°ā§āĻāĻŋ āĻāĻŦāĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¤ā§āĻ¯ āĻāĻŦāĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°ā§āĻāĻŋ
ECS - āĻ¸āĻ¤ā§āĻ¤āĻž āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ , āĻ¯āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻā§āĻŽāĻā§āĻ˛āĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻžāĻ¨ā§ ECS āĻāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻā§āĻ˛ā§ āĻ°āĻ¯āĻŧā§āĻā§:
- āĻ¤āĻĨā§āĻ¯ āĻ¯ā§āĻā§āĻ¤āĻŋāĻŦāĻŋāĻĻā§āĻ¯āĻž āĻĨā§āĻā§ āĻĒā§āĻĨāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ;
- āĻāĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻāĻžāĻ°ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻ°āĻāĻ¨āĻž;
- āĻĄā§āĻāĻž āĻā§āĻ¨ā§āĻĻā§āĻ°āĻŋāĻ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°āĨ¤
ECS āĻ¤āĻŋāĻ¨āĻāĻŋ āĻŽā§āĻ˛āĻŋāĻ āĻ§āĻžāĻ°āĻŖāĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
- āĻ¸āĻ¤ā§āĻ¤āĻž - āĻļāĻ¨āĻžāĻā§āĻ¤āĻāĻžāĻ°ā§ āĻ¯ā§ āĻ§āĻ°āĻ¨ā§āĻ° āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§ (āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻā§āĻ˛ā§āĻ¯āĻŧāĻžāĻĄāĻŧ, āĻāĻāĻāĻŋ āĻŦāĻ˛ āĻŦāĻž āĻ āĻ¨ā§āĻ¯ āĻāĻŋāĻā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§);
- āĻāĻĒāĻžāĻĻāĻžāĻ¨ - āĻ¸āĻ¤ā§āĻ¤āĻž āĻ¤āĻžāĻĻā§āĻ° āĻāĻ āĻŋāĻ¤ āĻšāĻ¯āĻŧ. āĻāĻĻāĻžāĻšāĻ°āĻŖ - āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨, āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯āĨ¤ āĻāĻ āĻ¤āĻĨā§āĻ¯ āĻā§āĻĻāĻžāĻŽ āĻšāĻ¯āĻŧ;
- āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ - āĻ¤āĻžāĻ°āĻž āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻŦāĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻāĻ¯āĻŧāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻ āĻĄā§āĻāĻžāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻāĻāĻ°āĻŖ āĻāĻŦāĻ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§āĨ¤ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¯āĻž āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻš āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻ¤ā§āĻ¤āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻāĻŦāĻ āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ āĻāĻ°ā§āĨ¤
āĻāĻāĻŋ āĻ āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻ āĻšāĻ¯āĻŧā§ āĻāĻ ā§ āĻ¯ā§ ECS āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°ā§:
- āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻ¤āĻāĻžāĻŦā§ āĻ¸āĻ¤ā§āĻ¤āĻž āĻ¸āĻāĻāĻ āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻāĻžāĻ°ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻ˛ā§āĻāĻāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§;
- āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻā§āĻĄ āĻā§āĻ˛āĻŽāĻžāĻ˛ āĻĨā§āĻā§ āĻŽā§āĻā§āĻ¤āĻŋ āĻĒāĻžāĻāĻ¯āĻŧāĻž;
- āĻāĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻĢā§āĻ°ā§āĻŽ āĻ˛āĻāĻŋāĻāĻāĻŋāĻā§ āĻāĻāĻ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻāĻ¤ā§ is_build_mode āĻāĻ° āĻŽāĻ¤ā§ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ - āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĨ¤
āĻāĻ¸āĻŋāĻāĻ¸ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻĒāĻ° āĻāĻŽāĻ¨āĻāĻžāĻ āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻ¸āĻŽā§āĻĒāĻĻ -> āĻāĻāĻžāĻ¨ā§āĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŽā§āĻĒāĻĻ āĻ°āĻ¯āĻŧā§āĻā§ (āĻāĻŦāĻŋ)
src
- āĻāĻĒāĻžāĻĻāĻžāĻ¨
âposition.rs
â person.rs
â tennis_court.rs
â floor.rs
- wireframe.rs
â mouse_tracked.rs
- āĻ¸āĻŽā§āĻĒāĻĻ
âmouse.rs
- āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ
â rendering.rs
â constants.rs
â utils.rs
â world_factory.rs -> āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻĢā§āĻ¯āĻžāĻā§āĻāĻ°āĻŋ āĻĢāĻžāĻāĻļāĻ¨
â main.rs -> āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ˛ā§āĻĒ
āĻāĻŽāĻ°āĻž āĻāĻĻāĻžāĻ˛āĻ¤ā§ āĻ˛ā§āĻ āĻ¨āĻŋāĻ¯āĻŧā§āĻ āĻāĻ°āĻŋ
āĻāĻ¸āĻŋāĻāĻ¸ āĻā§āĻŦāĻ¨āĻā§ āĻ¸āĻšāĻ āĻāĻ°ā§āĻā§āĨ¤ āĻāĻāĻ¨ āĻāĻŽāĻžāĻ° āĻāĻžāĻā§ āĻ¸āĻ¤ā§āĻ¤āĻžāĻā§āĻ˛āĻŋāĻ¤ā§ āĻĄā§āĻāĻž āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻāĻŦāĻ āĻ¸ā§āĻ āĻĄā§āĻāĻžāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻ¤ āĻāĻĒāĻžāĻ¯āĻŧ āĻāĻŋāĻ˛āĨ¤ āĻāĻŦāĻ āĻāĻ° āĻĢāĻ˛ā§, āĻāĻĻāĻžāĻ˛āĻ¤ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ˛ā§āĻā§āĻĻā§āĻ° āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ¸āĻāĻāĻ āĻŋāĻ¤ āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤
āĻāĻŽāĻŋ āĻāĻŋ āĻāĻ°āĻ˛āĻžāĻŽ:
- āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻā§ āĻ āĻ°ā§āĻĒāĻŋāĻ¤ āĻāĻĻāĻžāĻ˛āĻ¤ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§;
- āĻā§āĻ¨āĻŋāĻ¸āĻā§āĻ°ā§āĻā§ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°āĻž āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻĻā§āĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻĄā§āĻāĻž āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§;
- āĻā§āĻ°ā§āĻāĻā§āĻ¯ā§āĻ¸āĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻŽāĻžāĻ¨ā§āĻˇ āĻāĻŦāĻ āĻāĻĻāĻžāĻ˛āĻ¤ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻāĻĻāĻžāĻ˛āĻ¤ āĻ¸āĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻā§āĻ˛ā§āĻ¯āĻŧāĻžāĻĄāĻŧāĻĻā§āĻ° āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ;
- āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻŽā§āĻāĻŽā§āĻ¨ā§āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¯ā§āĻ āĻāĻ°ā§āĻā§, āĻ¯āĻž āĻāĻĻāĻžāĻ˛āĻ¤ā§ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻā§āĻ¤ āĻ˛ā§āĻāĻĻā§āĻ° āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ°āĻž āĻ¸ā§āĻāĻžāĻ¨ā§ āĻ¨āĻž āĻĨāĻžāĻā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻ¤āĻžāĻĻā§āĻ° āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĨāĻžāĻāĻž āĻĻāĻ°āĻāĻžāĻ° āĻ¸ā§āĻāĻžāĻ¨ā§ āĻ˛ā§āĻ āĻĒāĻžāĻ āĻžāĻ¯āĻŧāĨ¤
āĻŦā§āĻĻā§āĻ§āĻŋāĻŽāĻžāĻ¨
āĻāĻŽāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻāĻ āĻ¸āĻšāĻ āĻā§āĻ˛āĻž āĻāĻžāĻ āĻāĻĒāĻā§āĻ. āĻ¤āĻžāĻāĻžāĻĄāĻŧāĻž, āĻāĻŽāĻŋ āĻāĻ¨āĻ¨ā§āĻĻāĻŋāĻ¤ āĻ¯ā§ āĻāĻŽāĻŋ āĻāĻāĻŋ āĻ˛āĻŋāĻāĻ¤ā§ āĻŽāĻ°āĻŋāĻāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋ, āĻāĻžāĻ°āĻŖ:
- āĻŽāĻ°āĻŋāĻāĻž āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¤āĻž āĻĻā§āĻ¯āĻŧ;
- āĻāĻāĻž āĻāĻŽā§āĻāĻžāĻ° āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻāĻā§, āĻŽāĻ°āĻŋāĻāĻž āĻŦā§āĻļ āĻŽāĻžāĻ°ā§āĻāĻŋāĻ¤;
- āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻāĻ¤āĻž āĻļāĻžāĻ¨ā§āĻ¤;
- āĻāĻĒāĻ¨āĻžāĻā§ āĻā§āĻ˛ā§āĻ¨āĻŋāĻ, āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻŦāĻž āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋ āĻ āĻŦāĻ˛āĻŽā§āĻŦāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻž, āĻ¯āĻž āĻāĻŽāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ C++ āĻ āĻāĻ°āĻ¤āĻžāĻŽ;
- āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻā§āĻŦ āĻ¸āĻšāĻ āĻāĻŦāĻ āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋ āĻā§āĻŦ āĻāĻžāĻ˛āĻāĻžāĻŦā§ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻž;
- āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻāĻŋ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ 99% āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻŋ āĻāĻžāĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻ āĻŋāĻ āĻ¯ā§āĻŽāĻ¨āĻāĻŋ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤ āĻāĻŽāĻŋ āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻ¤ā§āĻ°ā§āĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻā§āĻ˛āĻŋ āĻāĻŽāĻŋ āĻĻā§āĻā§āĻāĻŋ āĻ¸ā§āĻ°āĻžāĨ¤
āĻŽāĻ°āĻŋāĻāĻž āĻŽāĻ§ā§āĻ¯ā§ āĻā§āĻŽ āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻ¸āĻŦā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ. āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻāĻāĻŋ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛ āĻāĻŦāĻ āĻŽā§āĻāĻžāĻŽā§āĻāĻŋ āĻŦā§āĻšā§ āĻ¸āĻŽā§āĻĒā§āĻ°āĻĻāĻžāĻ¯āĻŧ āĻāĻžāĻ āĻāĻ°āĻā§ āĻ¸āĻŦāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŽāĻ°āĻŋāĻāĻž āĻā§āĻ˛āĻžāĻ° āĻāĻ¨ā§āĻ¯āĨ¤ āĻ āĻ¤āĻāĻŦ, āĻāĻŽāĻŋ āĻāĻļāĻžāĻŦāĻžāĻĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻˇāĻžāĻ° āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ āĻĻā§āĻāĻŋ, āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻžāĻā§āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ā§āĻ° āĻ āĻĒā§āĻā§āĻˇāĻžāĻ¯āĻŧ āĻĨāĻžāĻāĻŋāĨ¤
Skillbox āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻāĻ°ā§:
- āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ āĻā§āĻ°ā§āĻ¸
"āĻĒā§āĻļāĻž āĻĢā§āĻ°āĻ¨ā§āĻāĻāĻ¨ā§āĻĄ āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ°" .- āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ āĻā§āĻ°ā§āĻ¸
"āĻŽā§āĻŦāĻžāĻāĻ˛ āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ° āĻĒā§āĻ°ā§" .- āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ āĻŦāĻāĻ°ā§āĻ° āĻā§āĻ°ā§āĻ¸
"0 āĻĨā§āĻā§ PRO āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĒāĻŋāĻāĻāĻāĻĒāĻŋ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§" .
āĻāĻ¤ā§āĻ¸: www.habr.com