• 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
0
Question by OctoSloths · Jan 23, 2015 at 02:48 AM · c#scorefloatint

Multiply float by int?

So I'm trying to create a score system that goes up by 100 every second. I get this error: "Only assignment, call, increment, decrement, and new object expressions can be used as a statement"

This is my code so far:

 using UnityEngine;
 using System.Collections;
 public class ScoreperSec : MonoBehaviour {
     public int startingScore = 0;
     public int currentScore = 0;
     public GUIText scoregui;
     private float time;
     private int score;
 void Update (){
         time+=Time.deltaTime;
         //currentScore += (int)time;
         print ((int)time);
         (int)time * 100 == score;
         scoregui.text = "Score: "+ score;
 }
 }
Comment
Add comment · Show 1
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 wangunity · Jan 23, 2015 at 02:58 AM 0
Share

(int)time 100 == score; may be error, i think you should like this if ((int)time 100 == score)

2 Replies

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by Kiwasi · Jan 23, 2015 at 03:14 AM

 score = (int)time * 100;
Comment
Add comment · Show 3 · 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 Kiwasi · Jan 23, 2015 at 03:16 AM 1
Share

You probably also need

 scoregui.text = "Score: "+ score.ToString();
avatar image Drakenish · Jan 23, 2015 at 03:18 AM 1
Share

Shouldn't you use score = (int)(time * 100) otherwise your dropping the decimal values of time and multiplying that by 100?

avatar image Kiwasi · Jan 23, 2015 at 03:25 AM 0
Share

@Drakenish

As written it will increase by 100 points at the end of every second.

If you want it to go from 0 to 100 over one second then your code should be used.

The OP was not overly clear on which effect he was after.

avatar image
2

Answer by RalphTrickey · Jan 23, 2015 at 02:58 AM

Is it this statement?

(int)time * 100 == score;

== is a comparison and doesn't make any sense in this context. If you meant = then the left hand side is not a variable (lvalue).

Comment
Add comment · Show 3 · 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 OctoSloths · Jan 23, 2015 at 03:10 AM 0
Share

I believe that is the issue, yeah. I'm not sure how I would fix it though.

avatar image Drakenish · Jan 23, 2015 at 03:16 AM 1
Share

score = (int)(time * 100); ? I believe this is what you are trying to do.

avatar image OctoSloths · Jan 23, 2015 at 03:19 AM 0
Share

Ohhh I get what I did wrong now, thank you so much!

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

22 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Adding coin score to multiplied value 2 Answers

float = int / int float value always 0 1 Answer

Dumb this down for me? 1 Answer

Monodevelop is expecting int from my float array 3 Answers

Convert Text to float 3 Answers

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges