Upgrade to Pro — share decks privately, control downloads, hide ads and more …

1weekでかわいいアメーバを?できらぁ!デザイン奮闘記 / u1w-2020919-ameba

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for sgyo sgyo
September 19, 2020

1weekでかわいいアメーバを?できらぁ!デザイン奮闘記 / u1w-2020919-ameba

Avatar for sgyo

sgyo

September 19, 2020
Tweet

Other Decks in Programming

Transcript

  1. ҙࢥΛ΋ͭΞϝʔόͨͪ w ػցతͳҹ৅Λආ͚ΔͨΊͷมଇతͳߦಈ w ҠಈઌΛఆٛ͠ɺઌʹ໨ઢͷΈ޲͚Δ ೰ΈΛදݱ  w ϥϯμϜඵ଴ػޙɺΠʔδϯάΛֻ͚ͨҠಈ w

    ࢒ڑ཭ͱํ޲ʹԠͯ͡ࠇ໨ҐஔΛௐ੔ w ࠇ໨ͷҐஔ͸ઢܗิ׬Λ༻͍ͯϫʔϓ๷ࢭͱࣗવͳࢹઢҠಈʹ௅ઓ a͍͜͏͔ͳʜ a͍ͥ͘ʂ ˠ ˠ aͱ͏ͪΌ͘ʂ Ҡಈ։࢝ ϥϯμϜඵ଴ػ Ҡಈ var targetPos = Vector3.Lerp(currentPos, desiredTargetPos, 0.1f);
  2. ίϝϯτʹ͍ͭͯ w ʮXIZͱิ଍ʯͷΈίϝϯτΛॻ͘͜ͱΛపఈ͍ͯ͠·͢ w ม਺໊ɾϝιου໊͔Β೺Ѳग़དྷΔ৔߹͸ॻ͔ͳ͍ w ໊લͱίϝϯτͰͷೋॏ؅ཧΛ๷͙ଞɺ୯७ʹಡΉྔΛݮΒ͢໨త  ͨͩ͠ɺϩδοΫʹ͍ͭͯՄಡੑ্͕͕ͬͨΓɺ໋໊ʹࣗ৴͕ͳ͍৔߹ͳͲɺʮ։ൃָ͕ʹͳΔʯ৔߹͸ৗʹίϝϯτਪ঑ 

    ·ͨɺ೴಺ձٞͷٞ୊ʹڍ͛ΒΕΔͨΊʮվળͷ༨஍͋ΓʯܥͷϝϞతίϝϯτ͕૿͍͑ͯ͘ͷ͸Ή͠Ζਪ঑ // ϑΣʔυΠϯʹֻ͚Δ࣌ؒ ←ॻ͔ͳ͍. ม਺໊(ϝιου໊)Ͱ೺Ѳग़དྷΔ༷ʹ؅ཧɾमਖ਼͢Δ float _fadeInDuration; // ಠཱੑΛߴΊΔͨΊʹຊΫϥεʹϑΟʔϧυͱͯ࣋ͨͤ͠Δ ←ॻ͘. ࠓޙͷߏ଄ݕ౼ʹ໾ཱͯΔ float _fadeInDuration;
  3. ࡉ͔ΊʹγʔϯΛ෼͚Δ -PBE4DFOF.PEF"EEJUJWF λΠτϧγʔϯ 6OMPBE4DFOF Իྔมߋγʔϯ νϡʔτϦΞϧγʔϯ ͨͷ͍͠ήʔϜγʔϯ -PBE4DFOF.PEF4JOHMF -PBE4DFOF.PEF4JOHMF Ϧβϧτγʔϯ

    -PBE4DFOF.PEF4JOHMF "EEJUJWF͸ ελοΫߏ଄ͰQVTIQPQ͢ΔΠϝʔδ Կ֊૚Ͱ΋ڐ༰͢Δ͕ɺ਌γʔϯ͕ಈ͍͍ͯΔ͜ͱʹ͸ཹҙ͢Δ ࡉ͔ΊʹγʔϯΛ੾Γग़͢͜ͱͰಠཱੑͷߴ͞Λҡ࣋
  4. όΠϤ΢ˑΞϝʔό൛.71ͷ͍ͯ͗ w .PEFM w7JFX1SFTFOUFSΛ஌Βͳ͍ wϏδωεϩδοΫ είΞܭࢉɺ࢒Γ࣌ؒɺήʔϜঢ়ଶ؅ཧ౳ Λ୲౰ w 7JFX w1SFTFOUFS.PEFMΛ஌Βͳ͍

    wݟͨ໨্ͷॲཧશൠΛهड़ɻݟͨ໨Ҏ֎ͷϩδοΫΛݪଇ࣋ͨͳ͍ w 1SFTFOUFS w7JFX.PEFMͷଘࡏΛ஌͍ͬͯΔ͕ɺͦΕͧΕͷৄࡉʹ͸৮Εͳ͍ w.PEFM7JFXͷڮ౉͠Ҏ֎ͷϩδοΫ͸Ұ੾ېࢭ ड͚औͬͨ΋ͷΛͲ͏ྉཧ͢Δ͔͸ .PEFM 7JFXͷ੹຿  w.PEFM 7JFXΛ3FRVJSF$PNQPOFOU͢Δ [RequireComponent(typeof(TitleView), typeof(TitleModel))] public class TitlePresenter : Presenter<TitleModel, TitleView>
  5. "XBLF4UBSUېࢭͷ࣮૷ // Awake, Start ͷӅṭٴͼܧঝΛېࢭ͢ΔͨΊ͚ͩͷΫϥε // seal ͢ΔͨΊ͚ͩʹجఈΫϥεΛఆٛ // Ӆṭͷܯࠂ

    CS0108͸Τϥʔʹ্͍֨͛ͯ͠Δ public abstract class RestrictedModel : MonoBehaviour { // Awake, Start͸࢖༻ېࢭͳͷͰܧঝ΋Ӆṭ΋ͯ͠͸ͳΒͳ͍ protected virtual void Awake() { } protected virtual void Start() { } public abstract class Model : RestrictedModel { protected sealed override void Awake() { } protected sealed override void Start() { } csc.rsp -warnaserror:0108 -nowarn:0649 DTDSTQ಺ͰӅṭΛܯࠂΤϥʔʹ্֨͛ TFBMFEΛ༻͍ͯܧঝΛېࢭ͠ɺӅṭʹܯࠂΛग़͢
  6. "XBLF4UBSUͷ୅ΘΓ protected abstract void Init(); protected abstract void SubscribeModel(); protected

    abstract void SubscribeView(); protected sealed override void Start() { Model = GetComponent<ModelT>(); Model?.Init(); View = GetComponent<ViewT>(); View?.Init(); this.SubscribeModel(); this.SubscribeView(); this.Init(); } 1SFTFOUFSͷ4UBSU͔ΒॳظԽॲཧΛݺͼग़͢
  7. #(.ʹ͍ͭͯ w %07"4:/%30.&༷ w IUUQTEPWBTKQCHN w ελʔήΠβʔ IUUQTEPWBTKQCHNQMBZIUNM ߘ԰ོ༷ w

    /JHIU4USFBNJOH IUUQTEPWBTKQCHNQMBZIUNM 5&$)/053"*/༷ ‎࣌ؒఔֻ͚ͯ਺ඦۂࢹௌ͠࠷΋ήʔϜʹ߹͏ͱײͨ͡ۂΛ࢖༻ͤͯ͞௖͖·ͨ͠ ‎ͦͷଞɺϑΣʔυ΍Ϧβϧτ࣌ʹΞ΢τϩ͕ྲྀΕΔ༷ͳ࣮૷Λࣗ࡞͠·ͨ͠