• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
Question by Xatoku · Apr 24, 2011 at 05:01 AM · variableenemystatichit

Non-Static Accessibility

Hey guys, I have this script for my HitSpark for when I hit the enemy with my sword, but because have multiple enemies, the static variable on the script will apply to all enemies meaning if I hit 1, the hitspark will show on all of them. Is there any way to access my started variable without making it static? Here's the script.

var HS1 : Material; var HS2 : Material; var HS3 : Material; var HS4 : Material; var HS5 : Material; var HS6 : Material; var HS7 : Material; var HS8 : Material; var HS9 : Material;

var HS = 9; var Speed = 0.1;

static var started:boolean = false; var showing:boolean = false;

function Start(){ renderer.material = HS1; yield WaitForSeconds(Speed); renderer.material = HS2; yield WaitForSeconds(Speed); renderer.material = HS3; yield WaitForSeconds(Speed); renderer.material = HS4; yield WaitForSeconds(Speed); renderer.material = HS5; yield WaitForSeconds(Speed); renderer.material = HS6; yield WaitForSeconds(Speed); renderer.material = HS7; yield WaitForSeconds(Speed); renderer.material = HS8; yield WaitForSeconds(Speed); renderer.material = HS9; yield WaitForSeconds(Speed); showing = false; started = false; }

function Update () { if(started){ showing = true; started = false; if(!started){ Start(); } } if(showing){ renderer.enabled = true; }else{ renderer.enabled = false; } }

Comment

People who like this

0 Show 0
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

  • Sort: 
avatar image
Best Answer

Answer by Eric5h5 · Apr 24, 2011 at 05:22 AM

http://unity3d.com/support/documentation/ScriptReference/index.Accessing_Other_Game_Objects.html As an aside, it would be a lot simpler if you used an array of materials instead of a bunch of separate variables. Also, your Update function doesn't seem to serve any purpose; there's no reason to do those checks every frame, you can just turn the renderer on and off as needed.

Comment

People who like this

0 Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Xatoku · Apr 24, 2011 at 02:16 PM 0
Share

Now im getting the error Object Reference not set to Instance on an Object, any help on that?

Unity Answers is in Read-Only mode

Unity Answers content will be migrated to a new Community platform and we are aiming to launch a public beta by June 9. Please note, Unity Answers is now in read-only so we can prepare for the final data migration.

For more information and updates, please read our full announcement thread in the Unity Forum.

Follow this Question

Answers Answers and Comments

No one has followed this question yet.

Related Questions

Accessing Other Scripts Without Using Static Variables 1 Answer

Manipulating Variables Over Multiple Scripts 0 Answers

Unable to modify a variable in another script 2 Answers

Assigning a particle system to a variable 2 Answers

How can I randomize the speed of enemy movement? 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges